如何生成以文本作为y轴刻度标签的图表
我刚开始接触Python的库pandas
和matplotlib
。你能给我一个例子,教我怎么用matplotlib
画出像这样的图吗:
在右边的y轴上列出了数据实例的名称。下面的x轴是与每个实例相关的某个值。
数据是.csv格式,类似于这个:
name;value1;value2
uk-2007-05;0.01;1000
理想情况下,value1
和value2
应该在同一个图上用不同的颜色或标记来表示。
1 个回答
4
import random
import matplotlib.pyplot as plt
labels = [chr(j) for j in range(97, 115)]
fake_data1 = [random.random() for l in labels]
fake_data2 = [random.random() for l in labels]
y_data = range(len(labels))
figure()
ax = gca()
ax.grid(True)
ax.scatter(fake_data1, y_data, color='r')
ax.scatter(fake_data2, y_data, color='b')
ax.set_yticks(range(len(labels)))
ax.set_yticklabels(labels)
ax.invert_xaxis()
plt.draw()
这里的 labels
是你所有标签的一个列表,y_data
是每个数据点对应标签的索引,而 fake_data1
和 fake_data2
则是你的 x
值。