Plotly:分类散点图格式
Posted
技术标签:
【中文标题】Plotly:分类散点图格式【英文标题】:Plotly: Categorical scatterplot formatting 【发布时间】:2021-05-11 01:53:25 【问题描述】:我在使用 pandas 和 plotly 正确格式化散点图时遇到问题。我想实现类似于下面的情节(使用谷歌表格创建)。
使用 google colab pandas 和 plotly 使用完全相同的数据,我有一个完全不同的可视化,其中所有点都放在一个网格上,这使得可视化异常值非常困难。
如何使用 python 获得类似于谷歌表格中的情节的结果?最好是一个交互式的情节。
import numpy as np
import pandas as pd
import hvplot.pandas
import plotly.express as px
import matplotlib.pyplot as plt
worksheet= spreadsheet.worksheet('left_to_right') ;
# get_all_values gives a list of rows.
rows = worksheet.get_all_values()
df = pd.DataFrame(rows)
headers = df.iloc[0]
cols = list(df.columns)
pd.options.plotting.backend = "plotly"
df.plot(
kind='scatter',
x=cols[0],
y=cols[1:],
width=1500,
height=1000
)
数据集链接: https://docs.google.com/spreadsheets/d/1NOHH9dUEAhRjrl0NWq_zUIgzUdYfupJjuEaXyRmTFEY/edit?usp=sharing
【问题讨论】:
【参考方案1】:您可以创建Strip Chart with Plotly Express,请参阅下面的代码以获取示例。
import pandas as pd
import plotly.express as px
# load the data
df = pd.read_csv('Data.csv', header=None)
# prepare the data
df = df.melt(id_vars=df.columns[0])
df = df.drop(labels=['variable'], axis=1)
df.columns = ['variable', 'value']
df = df.sort_values(by='variable')
df = df.reset_index(drop=True)
df
# variable value
# 0 Amygdala 1.066667
# 1 Amygdala 1.057650
# 2 Amygdala 1.117117
# 3 Amygdala 1.007353
# 4 Amygdala 0.979522
# ... ...
# 1075 Thalamus 1.019973
# 1076 Thalamus 1.001422
# 1077 Thalamus 1.037945
# 1078 Thalamus 0.963793
# 1079 Thalamus 1.012915
# plot the data
fig = px.strip(df, x='variable', y='value', color='value', stripmode='overlay')
fig.update_layout(plot_bgcolor='white',
paper_bgcolor='white',
showlegend=False,
xaxis=dict(title=None, linecolor='gray', mirror=True),
yaxis=dict(title=None, linecolor='gray', mirror=True))
fig.show()
【讨论】:
通常它几乎可以工作,我只是看到在你的 Y 轴上我们有像 1... 1.1 等在我的值是 1.0025、1.0151 ... 所以某些点的精确数据而不是统一的间隔,怎么修呢?链接到图表它也像 df = df.sort_values([ 'value', 'variable'],ascending = False) 一样额外排序,除此之外通常不会更改您的代码photos.google.com/search/_tra_/photo/…以上是关于Plotly:分类散点图格式的主要内容,如果未能解决你的问题,请参考以下文章
Plotly 散点图趋势线出现在散点下方。如何让趋势线出现在散点图上? [Python]
[散点图][Plotly][Python] 如何在散点图中标记心形
R语言plotly可视化:plotly可视化基本散点图(指定图像类型模式)plotly可视化散点图(为不同分组数据配置不同的色彩)ggplotly使用plotly包呈现ggplot2的可视化结果