title: Color Coding Scatterplot Based on Defined Names
body: <p>I have some excel data that I wanted to graph viz. a circular scatterplot. The data looks like this:
  <a href="https://i.stack.imgur.com/zYi7Om.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/zYi7Om.png" alt="enter image description here" /></a></p>
  <p>I began writing the script in Python as follows:</p>
  <pre><code># Initializing
  import matplotlib.pyplot as plt
  import pandas as pd
  import numpy as np
  
  # Importing dataframe and defining main variables
  tdtData = pd.read_excel(r'C:\Users\Bri-Guy\Desktop\tdtData.xlsx', sheet_name='Sheet1')
  tdtData.head()
  probe=tdtData.Probe
  area=tdtData.Area
  light=tdtData.Lightavg
  
  np.random.seed(19680801)
  
  # Compute areas and colors
  N = 234
  r = area
  theta = 2 * np.pi * np.random.rand(N)
  size = light
  colors = theta
  
  fig = plt.figure()
  ax = fig.add_subplot(projection='polar')
  c = ax.scatter(theta, r, c=colors, s=size, cmap='hsv', alpha=0.75)
  
  ax.set_thetamin(0)
  ax.set_thetamax(310)
  </code></pre>
  <p>Right now I have it such that the colors change based on the angle parameter theta. However, I want to color the scatterplot based on the specific probes associated with each datapoint (S100b+, S100b-, scn10a, fxyd2, fxyd2/scn10a). It would also be nice to implement a legend that goes with these names.</p>
  <p>Additionally, the plot generates with labels for the r-axis. I want to see those values because they help to show the range of the area variable. However, they're only visible if I restrict the range of theta. I'm wondering if there's a better way to go about it? Potentially increase the size of the figure, rotate the r-axis labels, or something else entirely?</p>
  <p>Thank you for the help.</p>
  <p>*Edit: I just realized that setting a defined range on theta actually obscures part of the data plotted for theta in(310,360). However, increasing figure size seems to be enough.</p>
  <pre><code>fig.set_size_inches(18.5, 10.5)
  </code></pre>