Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Plotly:分类散点图格式_Python_Plotly_Scatter Plot - Fatal编程技术网

Python Plotly:分类散点图格式

Python Plotly:分类散点图格式,python,plotly,scatter-plot,Python,Plotly,Scatter Plot,我在使用pandas和plotly正确格式化散点图时遇到问题。我想实现一些类似下面的情节(用谷歌表单创建) 使用google colab pandas和plotly使用完全相同的数据,我有一个完全不同的可视化,所有点都放在一个网格上,这使得可视化异常值非常困难 如何使用python实现与google sheets中的绘图类似的结果?最好是有情节的互动式 import numpy as np import pandas as pd import hvplot.pandas import plo

我在使用pandas和plotly正确格式化散点图时遇到问题。我想实现一些类似下面的情节(用谷歌表单创建)

使用google colab pandas和plotly使用完全相同的数据,我有一个完全不同的可视化,所有点都放在一个网格上,这使得可视化异常值非常困难

如何使用python实现与google sheets中的绘图类似的结果?最好是有情节的互动式

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 
)
链接到数据集:

您可以创建一个示例,请参见下面的代码

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那样进行额外排序。除了此之外,通常不会对代码进行任何更改