我希望使用plotly.express 库中的 cloropleth 函数绘制状态图、值配对,由于某种原因,我在地图上看到了漏洞。
正如你所看到的,佛罗里达州和犹他州有一个洞,我不知道如何去除它们。我的代码如下,其中 state 只是状态的两个字母代码:
import plotly.express as px
fig = px.choropleth(df,
locations='state',
locationmode="USA-states",
scope="usa",
color='value',
color_continuous_scale="darkmint",
title='Map'
)
Run Code Online (Sandbox Code Playgroud)
我的数据中没有缺失值,因此这是绘图的问题。谢谢。
我正在做 Spotify 数据分析。我想使用 Plotly 创建一个相关矩阵。我的示例数据框如下(数据框名称称为“df”)
我使用下面的代码创建了一个相关矩阵
import plotly.offline as pyo
import plotly.express as px
import plotly.graph_objs as go
import numpy as np
import pandas as pd
trace = go.Heatmap(z=df.values,x=df.index.values,y=df.columns.values,colorscale='RdBu_r',
zmax=1,zmin=-1,text=corr.values)
fig = go.Figure(data=[trace])
pyo.plot(fig)
fig.show()
Run Code Online (Sandbox Code Playgroud)
低于输出
我需要获得清晰的相关矩阵输出,任何人都可以建议如何在 Plotly 中做到这一点吗?无法修复上述代码以获得正确的输出
我知道人们可以将绘图默认颜色序列视为:
import plotly.express as px
print(px.colors.qualitative.Plotly)
Run Code Online (Sandbox Code Playgroud)
生成 CSS 颜色列表:
['#636EFA', '#EF553B', '#00CC96', '#AB63FA', '#FFA15A', '#19D3F3', '#FF6692', '#B6E880', '#FF97FF', '#FECB52']
Run Code Online (Sandbox Code Playgroud)
我可以通过从此列表中选择一个元素来指定绘图的颜色。例如:
go.Scatter(x=x, y=y, line={"color": '#636EFA'})
Run Code Online (Sandbox Code Playgroud)
在plotly中是否为这些颜色定义了更多用户友好的名称,或者CSS颜色是引用它们的唯一方法?
所以我正在尝试制作一个给出不同sankey图表的循环,这是由于plotly节点处于不同位置的优化所致。我想将标准顺序设置为[正式、非正式、失业、不活跃]
import matplotlib.pyplot as plt
import pandas as pd
import plotly.graph_objects as go
df = pd.read_csv(path, delimiter=",")
Lista_Paises = df["code"].unique().tolist()
Lista_DF = []
for x in Lista_Paises:
DF_x = df[df["code"] == x]
Lista_DF.append(DF_x)
def grafico(df):
df = df.astype({"Source": "category", "Value": "float", "Target": "category"})
def category(i):
if i == "Formal":
return 0
if i == "Informal":
return 1
if i == "Unemployed":
return 2
if i == "Inactive":
return 3
def color(i):
if i == "Formal":
return …Run Code Online (Sandbox Code Playgroud) 我有以下Pandas数据框df,如下所示:
import pandas as pd
df = pd.DataFrame({'state' : ['NY', 'CA', 'FL', 'NJ', 'TX', 'CT', 'MA', 'WA', 'IL', 'GA'],
'user_id' : [10000, 3200, 1600, 1200, 800, 600, 400, 350, 270, 260]
})
state user_id
0 NY 10000
1 CA 3200
2 FL 1600
3 NJ 1200
4 TX 800
5 CT 600
6 MA 400
7 WA 350
8 IL 270
9 GA 260
Run Code Online (Sandbox Code Playgroud)
我希望能够创建一个 Plotly choropleth,其中包含每个州的数据标签。
为此,我使用add_scattergeo:
fig = px.choropleth(df,
locations = …Run Code Online (Sandbox Code Playgroud) 我想知道如何更改条形内的文本以表示百分比而不是数字。我查看了plotly库,似乎我能做到这一点的唯一方法是使用plolty.graph_objects。有什么办法可以避免使用plotly.graph_objects?
编辑:我的目标是让 y 轴保留值,但图表中的文本显示百分比。本质上,我想自定义图表中的文本。
这是我试图放入图表中的数据,该数据将变成数据框(df):
Use-Cases 2018 2019 2020 2021
0 Consumer 50 251 2123 210
1 Education 541 52 32 23
2 Government 689 444 441 456
df=pd.read_excel('Book1.xlsx')
df=df.transpose()
fig=px.bar(df,template='seaborn',text_auto='.3s')
fig.show()
Run Code Online (Sandbox Code Playgroud)
我正在尝试为著名的Kaggle Titanic 挑战做一些数据可视化。我想绘制几个饼图,旭日变体,在内圈中放入一些特定特征(性别,机票类别,...),在外圈上放置该特征幸存/死亡。
这是一个例子:
我想对内圈和外圈使用不同的颜色。例如,蓝色/粉色代表男性/女性,绿色/灰色代表幸存者/死亡者。我做不到,如果我按性别区分,我就无法按生存区分,反之亦然。
这是我的代码:
color_discrete_sequence = ['#8B25BE', '#2D9157', '#2D5F91', '#97909A']
fig = px.sunburst(
total_raw_df,
path=['sex', 'survived'],
# names='sex',
labels=[{'0': 'Deceased', '1': 'Survived'}],
color=total_raw_df['sex'],
color_discrete_sequence=color_discrete_sequence
)
fig.update_traces(
textinfo="label+percent parent",
insidetextorientation='horizontal'
)
fig.update_layout(
font=dict(size=18)
)
fig.show()
Run Code Online (Sandbox Code Playgroud)
该数据集是经典的泰坦尼克号数据集,仅供参考,这些是数据框列:
Index(['pclass', 'survived', 'name', 'sex', 'age', 'sibsp', 'parch', 'ticket',
'fare', 'cabin', 'embarked', 'boat', 'body', 'home.dest'],
dtype='object')
Run Code Online (Sandbox Code Playgroud) 我只是尝试使用pip安装Plotly.我从Anaconda运行python,现在任何时候我尝试运行任何python我得到以下错误,我不知道如何解决它.我在Windows 7 64bit,Python3,4上运行
PS Z:\> pip
Traceback (most recent call last):
File "C:\Anaconda3\Scripts\pip-script.py", line 3, in <module>
from pip import main
File "C:\Anaconda3\lib\site-packages\pip\__init__.py", line 11, in <module>
from pip.vcs import git, mercurial, subversion, bazaar # noqa
File "C:\Anaconda3\lib\site-packages\pip\vcs\mercurial.py", line 9, in <module>
from pip.download import path_to_url
File "C:\Anaconda3\lib\site-packages\pip\download.py", line 22, in <module>
from pip._vendor import requests, six
File "C:\Anaconda3\lib\site-packages\pip\_vendor\requests\__init__.py", line 58, in <module>
from . import utils
File "C:\Anaconda3\lib\site-packages\pip\_vendor\requests\utils.py", line 25, in <module>
from .compat import parse_http_list as _parse_list_header
File …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用R中的plotly创建一个带有矩形的交互式图。
我的主要想法是工作。但是,我坚持要允许每个矩形具有彩色轮廓(如数据的“填充”列中所描绘的),但要有一个完全透明的区域。
以下是正在运作的MWE:
library(ggplot2)
library(dplyr)
library(plotly)
set.seed(1)
data <- data.frame(Name = paste0("Name",seq(1:10)), xmin = runif(10, 0, 1), xmax = runif(10, 1, 2), ymin = runif(10, 0, 1), ymax = runif(10, 1, 2), fill = sample(c("black","purple"),10, replace=TRUE) )
p <- ggplot(data, aes(xmin = xmin, xmax = xmax, ymin = ymin, ymax = ymax, fill = NULL, colour = fill, text = Name)) + geom_rect(size = 0.3, alpha = 0.5) + scale_colour_identity() + theme_bw()
ggplotly(p, tooltip = "text") %>% layout(dragmode = "select") …Run Code Online (Sandbox Code Playgroud) TL; DR我想使用Plotly.js显示长时间运行的带状图。我不知道该如何抛弃旧观点。
细节
我的CodePen的以下更新程序位于https://codepen.io/Michael-F-Ellis/pen/QvXPQr,几乎可以满足 我的要求。它显示了2条迹线中的20个样本,它们以500毫秒的间隔连续更新。在演示的最后,它将绘制所有点以显示它们仍然存在。
var cnt = 0;
var interval = setInterval(function() {
// Add next point to each trace
Plotly.extendTraces('graph', {
y: [[rand()], [rand()]]
}, [0, 1])
// Display only 20 most recent points
Plotly.relayout('graph', { 'xaxis.range': [cnt-20, cnt]})
cnt = cnt+1;
if(cnt === 100) {
// Before ending the run, show all points
// to demonstrate they still exist in Plotly.
Plotly.relayout('graph', { 'xaxis.range': [0, cnt]});
clearInterval(interval);
}
}, 500);
Run Code Online (Sandbox Code Playgroud)
问题是我确实要删除较旧的点。真正的应用程序需要在内存有限的系统上永远永久运行。我正在寻找将删除最旧的N个跟踪点的Plotly调用。由于目标系统的性能也受到限制,因此它必须合理有效。
谢谢!