我在绘制 Y 轴值范围从 1 到 20+ 百万的大型 CSV 文件时遇到问题。我现在面临两个问题。
Y 轴没有显示它应该显示的所有值。使用原始数据时,最多显示600万条,而不是显示全部数据最多2000万条。在我下面放置的示例数据(较小的数据)中,它仅显示第一个 Y 轴值,不显示任何其他值。
在标签部分中,由于我使用了色调和样式=名称,因此“名称”显示为标签标题和内部项目。
问题:
谁能给我一个示例或帮助我回答如何显示所有 Y 轴值?我该如何修复它以便所有 Y 值都显示出来?
如何在不删除散点的形状和颜色的情况下删除标签部分下的“名称”?
(请让我知道是否存在任何来源,或者这个问题在其他帖子上得到了回答,但没有将其标记为重复。如果我有任何需要解决的语法/拼写问题,也请告诉我。谢谢!)
您可以在下面找到我用来绘制图表和示例数据的函数。
def test_graph (file_name):
data_file = pd.read_csv(file_name, header=None, error_bad_lines=False, delimiter="|", index_col = False, dtype='unicode')
data_file.rename(columns={0: 'name',
1: 'date',
2: 'name3',
3: 'name4',
4: 'name5',
5: 'ID',
6: 'counter'}, inplace=True)
data_file.date = pd.to_datetime(data_file['date'], unit='s')
norm = plt.Normalize(1,4)
cmap = plt.cm.tab10
df = pd.DataFrame(data_file)
# Below creates and returns a dictionary of category-point combinations,
# by cycling over the marker points specified.
points = ['o', 'v', '^', '<', '>', '8', 's', 'p', 'H', 'D', 'd', 'P', 'X']
mult = len(df['name']) // len(points) + (len(df['name']) % len(points) > 0)
markers = {key:value for (key, value)
in zip(df['name'], points * mult)} ; markers
sc = sns.scatterplot(data = df, x=df['date'], y=df['counter'], hue = df['name'], style = df['name'], markers = markers, s=50)
ax.set_autoscaley_on(True)
ax.set_title("TEST", size = 12, zorder=0)
plt.legend(title="Names", loc='center left', shadow=True, edgecolor = 'grey', handletextpad = 0.1, bbox_to_anchor=(1, 0.5))
白衣染霜花
相关分类