Excel 绘制二维中每两点之间的距离

Excel 绘制二维中每两点之间的距离,excel,matplotlib,ggplot2,plotly,bokeh,Excel,Matplotlib,Ggplot2,Plotly,Bokeh,如果我有一个有三列的表,其中第一列表示每个点的名称,第二列表示数字数据(平均值),最后一列表示(第二列+固定数字)。以下示例显示了数据的外观: 我想画这个表,所以我有下图 如果可能的话,我可以使用Microsoft Excel或python或R(Bokeh)绘制它。好的,我只知道如何在ggplot2中绘制,我将在这里回答关于R的问题 这些方法仅在数据帧采用上述格式时有效 我将您的列重命名为Name.of.Method,Mean,Mean.2.2 准备 将csv数据加载到R df <-

如果我有一个有三列的表,其中第一列表示每个点的名称,第二列表示数字数据(平均值),最后一列表示(第二列+固定数字)。以下示例显示了数据的外观:

我想画这个表,所以我有下图


如果可能的话,我可以使用Microsoft Excel或python或R(Bokeh)绘制它。

好的,我只知道如何在ggplot2中绘制,我将在这里回答关于R的问题

这些方法仅在数据帧采用上述格式时有效

我将您的列重命名为Name.of.Method,Mean,Mean.2.2

准备

将csv数据加载到R

df <- read.csv('yourdata.csv', sep = ',')
如您所见,geom_段允许我们指定线的结束位置(因此,xendyend

但是,它看起来与上面的图像不同

线条形状似乎表示错误条。因此,ggplot为我们提供了一个错误条函数

方法2-使用geom_errorbarh()

通常我们不使用这种方法只是画一条线。但是,它的功能符合您的需求。您可以看到,我们使用xminymin来指定行的头部和尾部。
高度输入用于调整两端线条末端的条形高度。

我将使用
hbar

from bokeh.io import show, output_file
from bokeh.plotting import figure

output_file("intervals.html")

names = ["SMB", "DB", "SB", "TB"]

p = figure(y_range=names, plot_height=350)
p.hbar(y=names, left=[4,3,2,1], right=[6.2, 5.2, 4.2, 3.2], height=0.3)

show(p)


然而,如果你真的想要胡须而不是间隔棒,这也是一个选择

非常感谢,我不熟悉R。请告诉我如何将数据加载到数据框中,我的数据与我提供的形状相同,并且是CSV文件。
ggplot()  + 
geom_segment(data=df,aes(x = Mean, 
                         y = Name.of.Method, 
                         xend = Mean.2.2, 
                         yend = Name.of.Method))
ggplot(df, aes(y = Name.of.Method, x = Mean)) + 
       geom_errorbarh(aes(xmin = Mean, xmax = Mean.2.2), linetype = 1, height = .2)
from bokeh.io import show, output_file
from bokeh.plotting import figure

output_file("intervals.html")

names = ["SMB", "DB", "SB", "TB"]

p = figure(y_range=names, plot_height=350)
p.hbar(y=names, left=[4,3,2,1], right=[6.2, 5.2, 4.2, 3.2], height=0.3)

show(p)