有没有办法从ggplot_build()(或任何其他功能)搜索整个输出,几乎像搜索文件夹的每个子目录的完整内容?
细节:
我正在寻找一个解决方案来检索ggplot2_3.0.0中轴标签的值,其中一个早期答案显示,根据ggplot2版本,正确的答案很可能包含部分$layout和/或$x.labels输出ggplot_build(g).所以我开始检查ggplot_build()输出的每一步.其中一个步骤看起来像下面的输出.
小片1:
ggplot_build(g)$layout
Run Code Online (Sandbox Code Playgroud)
输出1:
<ggproto object: Class Layout, gg>
coord: <ggproto object: Class CoordCartesian, Coord, gg>
aspect: function
clip: on
[...]
map_position: function
panel_params: list
panel_scales_x: list
panel_scales_y: list
render: function
[...]
ylabel: function
super: <ggproto object: Class Layout, gg>
>
Run Code Online (Sandbox Code Playgroud)
在那里,在下面panel params,x.labels可以找到许多有用的信息,如下所示:
摘录2:
ggplot_build(g)$layout$panel_params
Run Code Online (Sandbox Code Playgroud)
输出2:
[[1]]
[[1]]$`x.range`
[1] 7.7 36.3
[[1]]$x.labels
[1] "10" "15" "20" "25" "30" "35"
[[1]]$x.major …Run Code Online (Sandbox Code Playgroud) 我正在尝试绘制时间序列数据,并希望 x 轴只是月和日。Plotly 要求格式为yyyy-mm-dd,但我有几年内数据集的每日平均值,所以我只想mm-dd在 x 轴上绘图。当我发送一个日期时间时,mm-dd它假设mm是年份。我可以让它绕过一年而只需要mm-dd吗?
df_en_ave1.index = df_en_ave1.index.strftime('%m-%d') #convert my index to month and day datetime
trace1=go.Scatter(x=df_en_ave1.index, y=df_en_ave1.evap) #need to bypass year in date here somehow
data = [trace1]
plotly.offline.iplot(data)
Run Code Online (Sandbox Code Playgroud) 我在youtube上看到了一个视频,它描述了如何使用Microsoft 的AdventureWorks数据库在Power BI中轻松映射数据库模式.现在我正在尝试使用另一个数据库复制该示例.问题是我的许多列都有类似的内容,但不同的列名称带有前缀,例如pk_或fk_取决于它们所在的表.这会导致以下查询失败:
SELECT
c.TABLE_NAME
,c.COLUMN_NAME
FROM INFORMATION_SCHEMA.COLUMNS c
INNER JOIN
(SELECT
COLUMN_NAME
FROM INFORMATION_SCHEMA.COLUMNS
GROUP BY COLUMN_NAME
HAVING COUNT(*) > 1
) dupes
ON dupes.COLUMN_NAME = c.COLUMN_NAME
Run Code Online (Sandbox Code Playgroud)
有谁知道是否可以模糊匹配列名或考虑不同的前缀来使这项工作?直接向youtube OP询问了同样的问题.它也可以在reddit.com上找到,但问题仍然没有答案.
我试图围绕一些更高级的Power BI功能,同时学习一些急需的SQL,我认为这将是一个很酷的起点,所以任何帮助都非常感谢!
问题:
重新安装Anaconda之后,我将无法再使用命令窗口导航到一个文件夹,在该窗口中我有一些.pynb文件,键入文件jupyter notebook并启动并运行。我收到这些错误:
C:\ scripts \ notebooks> jupyter笔记本Traceback(最近一次通话最近):文件“ C:\ Users \ MYUSERID \ AppData \ Local \ Continuum \ anaconda3 \ lib \ site-packages \ notebook \ services \ sessions \ sessionmanager.py” ,从sqlite3.dbapi2 import导入sqlite3文件“ C:\ Users \ MYUSERID \ AppData \ Local \ Continuum \ anaconda3 \ lib \ sqlite3__init __。py”的第10行,导入*文件“ C:\ Users \ MYUSERID \ AppData \ Local \ Continuum \ anaconda3 \ lib \ sqlite3 \ dbapi2.py”,第27行,来自_sqlite3 import * ImportError:DLL加载失败:找不到Procedyre
在处理上述异常期间,发生了另一个异常:
回溯(最近一次通话):文件“ …
背景:
一个类似的问题已经被问到这里,但不是很具体,而且大多只是通过参考其他来源来回答。我的案例感觉非常基本,我对找到这方面的工作示例有多么困难感到惊讶。
目标:
我只想能够从 Pandas 数据框中选择任何子集,通过使用这样的小部件来制作如下图:
我的尝试:
该widgets.SelectMultiple()小部件在docs中进行了简要描述,本节描述了如何以交互方式更改图中系列的值。我试图用 的功能替换后一个演示的核心部分widgets.SelectMultiple(),但收效甚微。
我想我真的很接近让这个工作,我希望我所要做的就是找出在标记为“#做什么!?”的部分下写什么。在下面的片段中。就像现在的代码片段一样,生成了一个小部件和图表,但它们之间没有功能链接。
我所知道的问题:
我对链接中提供的示例的复制有一些缺陷。我认为df并且widg应该包含在multiplot函数中。interactive plot功能可能也是如此。我也尝试过不同的变体,但没有成功。
片段(在 Jupyter Notebook 中使用):
# imports
%matplotlib inline
from ipywidgets import interactive
import pandas as pd
import numpy as np
from jupyterthemes import jtplot
# Sample data
np.random.seed(123)
rows = 50
dfx = pd.DataFrame(np.random.randint(90,110,size=(rows, 1)), columns=['Variable X'])
dfy = pd.DataFrame(np.random.randint(25,68,size=(rows, 1)), …Run Code Online (Sandbox Code Playgroud) 背景:
这个问题与 Plotly 相关,但不完全相同:如何检索主要刻度线和网格线的值?。matplotlib也提出了类似的问题,但没有得到解答:How do I show Major ticks as the first day of everymonths and secondary ticks as every day?
Plotly 太棒了,也许唯一困扰我的是自动选择刻度线/网格线以及为 x 轴选择的标签,如下图所示:
地块 1:
我认为这里显示的自然内容是每个月的第一天(当然取决于时期)。或者甚至可能只是每个刻度上的缩写月份名称'Jan'。我意识到由于所有月份的长度并不相同,因此存在技术甚至视觉上的挑战。但有人知道该怎么做吗?
可复制的片段:
import plotly
import cufflinks as cf
from plotly.offline import download_plotlyjs, init_notebook_mode, plot, iplot
import pandas as pd
import numpy as np
from IPython.display import HTML
from IPython.core.display import display, HTML
import copy
# setup
init_notebook_mode(connected=True)
np.random.seed(123)
cf.set_config_file(theme='pearl')
# Random data using …Run Code Online (Sandbox Code Playgroud) 是否可以将两个堆叠的条形图并排放置,每个条形图都来自一个列?
这是我的 df:
Field Issue
Police Budget cuts
Research Budget cuts
Police Time consuming
Banking Lack of support
Healthcare Lack of support
Research Bureaucracy
Healthcare Bureaucracy
Banking Budget cuts
Run Code Online (Sandbox Code Playgroud)
我想要一个 Field 的堆积条形图,旁边是一个按字段排列的问题堆积条形图。
谢谢你们!
我不确定如何在 Plotly 散点图中自定义散点图标记样式。
具体来说,我有一列predictions是 0 或 1(1 表示意外值),即使我使用symbolpx.scatter_3d 中的参数通过不同的点形状(菱形为 1,圆形为 0)来指示意外值,但差异非常微妙,我希望它更具戏剧性。我正在设想类似下面的东西(不需要完全是这个),但是沿着菱形点的线的东西有不同的轮廓颜色或它周围的附加形状/气泡。我该怎么做?
此外,我有一set列可以采用两个值之一,设置 A 或设置 B。我在里面使用了颜色参数px.scatter_3d并将set其设置为等于,以便根据它来自哪个设置对点进行着色。当它按照我的要求做时,我不希望颜色是蓝色和红色,而是我指定的任何两种颜色。我怎么能做到这一点(假设我希望颜色为蓝色和橙色)?非常感谢!
这是我使用的代码:
fig = px.scatter_3d(X_combined, x='x', y='y', z='z',
color='set', symbol='predictions', opacity=0.7)
fig.update_traces(marker=dict(size=12,
line=dict(width=5,
color='Black')),
selector=dict(mode='markers'))
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用注释来显示条形图之间的差异。具体来说,显示所有条形与第一个条形之间的差异。
我的代码如下所示:
import plotly.graph_objects as go
lables = ['a','b','c']
values = [30,20,10]
difference = [ str(values[0] - x) for x in values[1:] ]
fig = go.Figure( data= go.Bar(x=lables,y=values,width = [0.5,0.5,0.5] ) )
fig.add_annotation( x=lables[0],y= values[0],
xref="x",yref="y",
showarrow=True,arrowhead=7,
ax = 1200, ay= 0 )
fig.add_annotation( x = lables[1], y=values[0],
xref="x",yref="y",
showarrow=True,arrowhead=1,
ax = 0 , ay = 100,
text= difference[0]
)
fig.show()
Run Code Online (Sandbox Code Playgroud)
结果图如下所示:

正如你所看到的,我试图用注释,以表明之间的差异a和b。但我不知道如何获得 .froma和顶部的水平线之间的垂直距离b。
我试图让一个箭头指向水平线的顶部b和c水平线。我想知道有没有办法获得这个垂直距离,或者有没有其他方法可以达到同样的结果?
我正在尝试为绘图条形图中的某些条形设置不同的颜色:
import plotly.express as px
import pandas as pd
data = {'Name':['2020/01', '2020/02', '2020/03', '2020/04',
'2020/05', '2020/07', '2020/08'],
'Value':[34,56,66,78,99,55,22]}
df = pd.DataFrame(data)
color_discrete_sequence = ['#ec7c34']*len(df)
color_discrete_sequence[5] = '#609cd4'
fig=px.bar(df,x='Name',y='Value',color_discrete_sequence=color_discrete_sequence)
fig.show()
Run Code Online (Sandbox Code Playgroud)
我的期望是一个(第六个)条具有不同的颜色,但是我得到了这个结果:
我究竟做错了什么?