我目前用matplotlib以这种方式生成我的传奇:
if t==25:
l1,l2 = ax2.plot(x320,vTemp320,'or',x320,vAnaTemp320,'-r')
elif t==50:
l3,l4 = ax2.plot(x320,vTemp320,'ob',x320,vAnaTemp320,'-b')
else:
l5,l6 = ax2.plot(x320,vTemp320,'og',x320,vAnaTemp320,'-g')
plt.legend((l1,l2,l3,l4,l5,l6), ('t=25 Simulation', 't=25 Analytical','t=50 Simulation', 't=50 Analytical','t=500 Simulation', 't=500 Analytical'),
bbox_to_anchor=(-.25, 1), loc=2, borderaxespad=0.,prop={'size':12})
Run Code Online (Sandbox Code Playgroud)
以某种方式工作看1.但我的传说中有重复的信息.
我宁愿分开传说.这样我就有了与时间t对应的不同颜色的线条.作为我的分析解决方案的正常线条是模拟结果的点.
这样的事情
- (红线)t = 25
- (蓝线)t = 50
- (绿线)t = 500
o Simulaton
- 分析解决方案
现在有人能用matplotlib实现这一目标吗?

我正在尝试使用 Seaborn ( Reference )制作一个分组的箱线图,并且这些箱子都非常窄——太窄而无法看到分组颜色。
g = seaborn.factorplot("project_code",y="num_mutations",hue="organ",
data=grouped_donor, kind="box", aspect=3)
Run Code Online (Sandbox Code Playgroud)

如果我放大或将图形拉伸到屏幕宽度的几倍,我可以看到这些框,但显然这作为标准图形没有用。
这似乎是我的数据量的函数;如果我只绘制前 500 个点(6000 个),我会得到可见但很小的框。它可能特别是我的数据高方差的函数;根据 matplotlib boxplot 文档,
默认 [宽度] 为 0.5,如果较小,则为 0.15x(极端位置之间的距离)。
不管什么原因,如果我可以加宽它们,图表本身就有足够的空间来容纳更宽的盒子。
不幸的是,widths控制框宽度的 boxplot 关键字不是一个有效的factorplot关键字,我找不到一个 matplotlib 函数来改变绘图函数本身之外的条或框的宽度。我什至找不到任何人讨论这个;我发现最接近的是箱线图线宽。有什么建议?
我正在尝试解决一个聚类问题,我需要为我的聚类绘制散点图。
%matplotlib inline
import matplotlib.pyplot as plt
df = pd.merge(dataframe,actual_cluster)
plt.scatter(df['x'], df['y'], c=df['cluster'])
plt.legend()
plt.show()
Run Code Online (Sandbox Code Playgroud)
df['cluster'] 是实际的簇号。所以我希望这是我的颜色代码。
它向我展示了一个情节,但没有向我展示图例。它也不会给我错误。
难道我做错了什么?
我有兴趣在我的散点图中绘制一个图例.我目前的代码看起来像这样
x=[1,2,3,4]
y=[5,6,7,8]
classes = [2,4,4,2]
plt.scatter(x, y, c=classes, label=classes)
plt.legend()
Run Code Online (Sandbox Code Playgroud)
问题是创建绘图时,图例显示为数组,而不是显示唯一标签及其类.
我知道这是在线程像这样前面所讨论的一个问题一个,但我觉得我的问题是,即使简单的解决方案存在不适合它.此外,在那个例子中,这个人正在指定颜色,但在我的情况下,我事先知道我需要多少颜色.此外,在该示例中,用户正在创建多个散布,每个散射具有唯一的颜色.再说一遍,这不是我想要的.我的目标是使用x,y数组和标签简单地创建绘图.这可能吗?
谢谢.
我想制作这样的散点图,其中点的颜色由“ c”选项指定,图例显示颜色的含义。
我的数据源如下:
scatter_x = [1,2,3,4,5]
scatter_y = [5,4,3,2,1]
group = [1,3,2,1,3] # each (x,y) belongs to the group 1, 2, or 3.
Run Code Online (Sandbox Code Playgroud)
我尝试了这个:
plt.scatter(scatter_x, scatter_y, c=group, label=group)
plt.legend()
Run Code Online (Sandbox Code Playgroud)
不幸的是,我没有得到预期的传说。如何正确显示图例?我希望有五行,每行显示颜色和组对应关系。