我有一个使用 d3 完成的条形图,我想在条形图上添加文本。如何为文本选择最清晰的颜色,例如黑色条为白色,其他条为黑色?我无法选择条形颜色,但当我附加文本时,我确实知道每个条形的颜色。
PS:可能的重复是通用的 Javascript 解决方案,使用 d3 更容易。
我正在尝试将 X 轴添加到我的 D3 (v5) 生成图的底部,如下所示。然而,X 轴出现在顶部,即使我调用axisBottom(). 我在某处犯了错误吗?
results = {
x: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
y: [10, 20, 30, 40, 50, 60, 70, 80, 90, 100],
y1: [10, 20, 30, 40, 50, 60, 70, 80, 90, 100],
}
const W = 1000,
H = 620,
margin = {
top: 20,
right: 80,
bottom: 30,
left: 50,
};
const width = W - margin.left - margin.right,
height = H - margin.top …Run Code Online (Sandbox Code Playgroud) javascript visualization data-visualization axis-labels d3.js
在我正在创建的 geopandas 世界 choropleth 中,我想用颜色条编辑多项内容。即大小(使其与地图本身大致匹配)、文本大小(当前显示太小),我还想为其添加标签。从阅读中似乎没有简单的方法可以在 geopandas 中明确地做到这一点,所以我想知道是否有人可以提供任何解决方法?任何帮助将不胜感激。
这是我目前正在使用的一段代码(在某些情况下,中间部分只是将列表与按国家/地区划分的数字合并到框架中,我将其用作着色的基础)
fig, ax = plt.subplots(figsize=(40,29.171))
world = geopandas.read_file(geopandas.datasets.get_path('naturalearth_lowres'))
world=pd.DataFrame(world)
world['LEADS']=0.1
world = world.set_index('name')
world['name']=world.index
for x, y in zip(Countries, country_counts):
world.loc[x, 'LEADS'] = y
world=geopandas.GeoDataFrame(world)
world = world[(world.index != "Antarctica")]
ax.set_axis_off()
#ax.legend(title="Leads")
world.plot(ax=ax, column='LEADS', cmap='Oranges', legend=True,linewidth = 1.5)
plt.tight_layout()
plt.savefig('plot_image.png', bbox_inches='tight', transparent=True)
Run Code Online (Sandbox Code Playgroud)
这里的理想解决方案是保持图例选项具有的颜色,指定大小和文本大小并在栏顶部启用标签。不幸的是,我正在努力弄清楚这些是如何完成的。
我想弄清楚如何在此处为示例 vega 可视化添加图例。任何有关如何执行此操作的示例将不胜感激。最好是交互式的,并在可视化上突出显示或显示数据,但即使只是一个简单的图例也会有很大的改进。
谢谢
我在网上找到了这个漂亮的图表(显然是用 plotly 制作的),并想用 seaborn 重新创建它。

到目前为止,这是我的代码:
import pandas as pd
import seaborn as sns
data = ...
flierprops = dict(marker='o', markersize=3)
sns.boxplot(x="label", y="mean",palette="husl", data=data,saturation=1,flierprops=flierprops)
Run Code Online (Sandbox Code Playgroud)
这是迄今为止的结果:
我已经很高兴了,但我想调整线条和异常值颜色以匹配husl调色板。我怎样才能做到这一点?(以及附加:我将如何更改线宽?)
我正在使用 Seaborn 热图来绘制大型混淆矩阵的输出。由于对角线元素代表正确预测,因此它们更重要的是显示数量/正确率。正如问题所暗示的那样,如何仅注释热图中的对角线条目?
我已经咨询过这个网站https://seaborn.pydata.org/examples/many_pairwise_correlations.html,但它对如何只注释对角线条目没有帮助。希望有人可以帮忙。先感谢您!
我遇到过研究出版物和问答讨论检查 RNN 权重的必要性;一些相关的答案是在正确的方向,建议get_weights()- 但我如何真正有意义地可视化权重?也就是说,LSTM 和 GRU 都有门,并且所有RNN 都有用作独立特征提取器的通道- 那么我如何(1)获取每个门的权重,以及(2)以信息丰富的方式绘制它们?
python visualization keras tensorflow recurrent-neural-network
import pyLDAvis.gensim
# Visualize the topics
pyLDAvis.enable_notebook()
vis = pyLDAvis.gensim.prepare(lda_model, corpus, id2word)
vis
Run Code Online (Sandbox Code Playgroud)
上面的代码在 google colab 中显示了 LDA 模型的可视化,但在重新打开笔记本后它停止显示。我什至试过
pyLDAvis.display(vis, template_type='notebook')
还是不行
当我设置
pyLDAvis.enable_notebook(local=True)
在此处输入图像描述 它确实显示结果但不显示标签.. 任何帮助将不胜感激!
我有一个使用名为 Revigo 的网站制作的图,该网站提供了一个 R 脚本(包括在下面)来创建这样的图:
我想看看是否可以在同一图中的这些点之上执行和可视化聚类?由于该图看起来像一个大圆圈,因此我试图查看其中是否有可以突出显示的较小分组。我有生物学背景,所以我不知道从哪里开始尝试在同一个图中获得这种可视化。我已经探索过使用,hclust()但我不知道将集群显示在此图表顶部的步骤。
给出上图的代码和数据是:
library( ggplot2 );
library( scales );
revigo.names <- c("term_ID","description","frequency_%","plot_X","plot_Y","plot_size","log10_p_value","uniqueness","dispensability");
revigo.data <- rbind(c("GO:0002376","immune system process",16.463,-0.302,-3.807, 3.455,-8.3307,0.995,0.000),
c("GO:0006928","movement of cell or subcellular component",10.987, 1.052, 1.113, 3.280,-8.8153,0.965,0.000),
c("GO:0007610","behavior", 3.254,-1.620, 0.960, 2.752,-4.0048,0.994,0.000),
c("GO:0008150","biological_process",100.000,-6.029,-0.499, 4.239,-8.7447,1.000,0.000),
c("GO:0009987","cellular process",90.329,-5.288, 0.130, 4.195,-10.0701,0.999,0.000),
c("GO:0010243","response to organonitrogen compound", 4.697, 6.870,-2.756, 2.911,-12.7100,0.865,0.000),
c("GO:0023052","signaling",36.613, 2.976,-6.718, 3.803,-7.1931,0.996,0.000),
c("GO:0032501","multicellular organismal process",41.143, 3.761,-0.715, 3.853,-17.2741,0.997,0.000),
c("GO:0032502","developmental process",33.982,-2.865,-0.660, 3.770,-14.4202,0.996,0.000),
c("GO:0034762","regulation of transmembrane transport", 2.452,-3.982, 3.261, 2.629,-13.4123,0.788,0.000),
c("GO:0040007","growth", 5.447, 0.651,-0.889, 2.975,-4.2140,0.995,0.000),
c("GO:0040011","locomotion", 9.452, 2.305,-0.865, 3.215,-8.1068,0.995,0.000),
c("GO:0050896","response to stimulus",49.302, 3.556,-5.122, …Run Code Online (Sandbox Code Playgroud) 我得到了图表的左侧(前三分之一),并尝试创建一个 'bars2' 和 'text2' 字段,但这不起作用并将其添加到原始的 ranked_movies 字段中,但这很混乱。有没有办法移动和压缩并添加一整套其他条形图?
tuples = list(zip([names[ep] for ep in episodes],topthird,middlethird))
binranking_per_df = pd.DataFrame(tuples, columns = ['Name', 'Top Third','Middle Third'])
#ranking_per_df
bars = alt.Chart(binranking_per_df).mark_bar(size=20).encode(
x=alt.X(
'Top Third',
axis=None),
y=alt.Y(
'Name:N',
axis=alt.Axis(tickCount=5, title=''),
sort=names_l
)
)
bars2 = alt.Chart(binranking_per_df).mark_bar(size=20).encode(
x=alt.X(
'Middle Third',
axis=None),
y=alt.Y(
'Name:N',
axis=alt.Axis(tickCount=5, title=''),
sort=names_l
)
)
text = bars.mark_text(
align='left',
baseline='middle',
dx=3
).encode(
text=alt.Text('Top Third:Q',format='.0%')
)
text2 = bars.mark_text(
align='left',
baseline='middle',
dx=3
).encode(
text=alt.Text('Middle Third:Q',format='.0%')
)
ranked_movies = (text + bars).configure_mark(
color='#008fd5'
).configure_view( …Run Code Online (Sandbox Code Playgroud) visualization ×10
python ×5
d3.js ×2
javascript ×2
seaborn ×2
altair ×1
axis-labels ×1
choropleth ×1
colors ×1
gensim ×1
geopandas ×1
ggplot2 ×1
keras ×1
lda ×1
pandas ×1
pyldavis ×1
r ×1
tensorflow ×1
vega ×1