我必须绘制一些范围不同的数据集的平行图。当我在google上搜索时,我在this website中发现了一个漂亮的javascript示例。在
我为测试创建了一些样本数据集,并希望实现具有yxis ticks和不同范围yax的平行图,类似于此图:
到目前为止,我已经做到了:
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from pandas.plotting import parallel_coordinates
np.random.seed(100)
%matplotlib inline
df = pd.DataFrame({'calcium': np.random.randint(0,7,5),
'calories': np.random.randint(200,900,5),
'fiber': np.random.randint(10,75,5),
'potassium': np.random.randint(0,20,5)
})
df = df.T
df['name'] = df.index
df.reset_index(drop=True)
parallel_coordinates(df,'name')
输出如下:
如我们所见,底部曲线高度不可分辨。我想把它修好。 我在google上搜索,试图找到如何更改垂直y轴刻度线和改变范围(规格化)。在
我们将感谢您的帮助。 这是一个美丽的情节,向那些在地球上成功地用Python形象化这个美丽情节的人致敬!!在
相关链接:
http://bl.ocks.org/syntagmatic/raw/3150059/
https://pandas.pydata.org/pandas-docs/stable/generated/pandas.plotting.parallel_coordinates.html
https://pandas.pydata.org/pandas-docs/stable/visualization.html
How to plot parallel coordinates on pandas DataFrame with some columns containing strings?
更新
^{pr2}$仍然无法在中轴上放置ytick标记。在
这是一个的解决方案,它将有助于使用损坏的y轴提高可读性。我从here偷了大部分代码。在
这会产生一个如下图:
我仍然认为钙线很难解释,但是你可以放大图像或者再次打破y轴,如果图形足够简单,可以分解成块。在
相关问题 更多 >
编程相关推荐