繁体   English   中英

Matplotlib&Excel:如何平均绘制图的x轴?

[英]Matplotlib & Excel: How to evenly slice the x-axis of a plot?

我有一堆来自一组n模拟的特定数据集。 我所有的数据集看起来都像下面的摘录,并且都保存在xlsx文件中:

           SET1   SET2   SET3  ...   SET n
PHASE A    945    911    847   ...   ...
PHASE B    17     12     86    ...   ...

使用matplotlibExcel ,我想生成一个像这样的图形(虚构示例),其中x轴被均匀地切片: 在此处输入图片说明

为了给您更多细节,这些是此类图解的属性:

  1. 对于每个集合,这些值的上限为1000 ,下限为0
  2. 值始终从1000减小到较小的值,红色和蓝色曲线相交处具有连续性;
  3. 原点沿x-axis不对应于0 ,而是对应于1000
  4. 每个垂直刻度在左侧的集合对应于0 ,在右侧的集合对应于1000
  5. Phase APhase B不代表任何值-它们是categories ;
  6. (SET1, Phase A)等于1000-945 ,而(SET1, Phase B)等于1000-945-17

我的问题:如何在matplotlib甚至Excel生成这样的图? 很抱歉,我无法提供任何Python代码,因为我完全不知道如何构建这种绘图。 致歉,并感谢任何耐心等待的人!

我想你要求太多了。 matplotlib.org上有许多示例以及您可能需要的所有文档。 这是一个至少具有至少一些功能的最小示例:

#!/usr/bin/python
import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0, 2 * np.pi, 400)
y = np.sin(x ** 2)

f, (ax1, ax2) = plt.subplots(1, 2, sharey=True)
ax1.plot(x, y)
ax1.set_title('Sharing Y axis')
ax2.scatter(x, y)
f.gca().invert_xaxis() 
f.subplots_adjust(wspace=0.0)
plt.show()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM