首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在react中绘制具有共享x轴的多条线?

在 React 中绘制具有共享 X 轴的多条线图,可以使用一些流行的图表库,如 recharts, react-chartjs-2, 或 victory。这些库提供了丰富的功能和易于使用的 API 来创建各种类型的图表。

以下是使用 recharts 库的示例,展示了如何绘制具有共享 X 轴的多条线图。

安装 recharts

首先,确保你已经安装了 recharts 库。如果还没有安装,可以使用 npm 或 yarn 进行安装:

代码语言:javascript
复制
npm install recharts
# 或者
yarn add recharts

创建多条线图

接下来,创建一个 React 组件来绘制具有共享 X 轴的多条线图。以下是一个完整的示例:

代码语言:javascript
复制
import React from 'react';
import {
  LineChart, Line, XAxis, YAxis, CartesianGrid, Tooltip, Legend, ResponsiveContainer
} from 'recharts';

const data = [
  { name: 'Jan', series1: 4000, series2: 2400, series3: 2400 },
  { name: 'Feb', series1: 3000, series2: 1398, series3: 2210 },
  { name: 'Mar', series1: 2000, series2: 9800, series3: 2290 },
  { name: 'Apr', series1: 2780, series2: 3908, series3: 2000 },
  { name: 'May', series1: 1890, series2: 4800, series3: 2181 },
  { name: 'Jun', series1: 2390, series2: 3800, series3: 2500 },
  { name: 'Jul', series1: 3490, series2: 4300, series3: 2100 },
];

const MultiLineChart = () => (
  <ResponsiveContainer width="100%" height={400}>
    <LineChart
      data={data}
      margin={{
        top: 5, right: 30, left: 20, bottom: 5,
      }}
    >
      <CartesianGrid strokeDasharray="3 3" />
      <XAxis dataKey="name" />
      <YAxis />
      <Tooltip />
      <Legend />
      <Line type="monotone" dataKey="series1" stroke="#8884d8" />
      <Line type="monotone" dataKey="series2" stroke="#82ca9d" />
      <Line type="monotone" dataKey="series3" stroke="#ffc658" />
    </LineChart>
  </ResponsiveContainer>
);

export default MultiLineChart;

解释

  1. 导入 recharts 组件:从 recharts 库中导入所需的组件,如 LineChart, Line, XAxis, YAxis, CartesianGrid, Tooltip, Legend, 和 ResponsiveContainer
  2. 定义数据:创建一个包含数据的数组,每个数据点包含共享的 X 轴值(name)和多条线的 Y 轴值(series1, series2, series3)。
  3. 创建 MultiLineChart 组件
    • 使用 ResponsiveContainer 包裹 LineChart 以确保图表在不同屏幕尺寸下自适应。
    • LineChart 中设置数据和边距。
    • 添加 CartesianGrid 以显示网格线。
    • 使用 XAxisYAxis 分别设置 X 轴和 Y 轴。
    • 添加 Tooltip 以显示数据点的详细信息。
    • 使用 Legend 显示图例。
    • 使用 Line 组件绘制多条线,每条线的 dataKey 对应数据中的不同系列,并设置不同的颜色。

使用组件

在你的应用中使用 MultiLineChart 组件:

代码语言:javascript
复制
import React from 'react';
import ReactDOM from 'react-dom';
import MultiLineChart from './MultiLineChart';

const App = () => (
  <div>
    <h1>Multi-Line Chart with Shared X-Axis</h1>
    <MultiLineChart />
  </div>
);

ReactDOM.render(<App />, document.getElementById('root'));
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Python可视化库Matplotlib绘图入门详解

axvline语法如下: plt.axvline(x = 0,ymin = 0,ymax = 1,** kwargs) 用这种语法:xx坐标。这是从垂直方向生成线位置。...水平线 ? axhline()绘制一条水平线语法如下: plt.axhline(y = 0,xmin = 0,xmax = 1,** kwargs) 在语法:y是沿y坐标。...要绘制多条垂直线,我们可以创建一个x点/坐标的数组,然后遍历该数组每个元素以绘制多条线: 导入matplotlib.pyplot作为plt xpoints = [0.2,0.4,0.6] 对于xpoints...y2 = [40,50,60,70,80,90,100] plt.plot(x2,y2,color =“ m”) plt.show() 思考以下代码,以更好地理解如何在一个图中绘制多个图形。...plt.show() 在此示例x点将从0到160开始,如下所示: ?

5.2K10

matlab plot函数详解取值范围_matlab为什么plot不出来图

在matlab,plot函数用来绘制二维图像。 1.plot默认格式 plot(x,y)这种格式,若x,y是向量,则它们必须具有相同长度。...函数将以x为横轴,绘制y。 若x,y都是矩阵,则它们必须具有相同尺寸,plot函数将针对x各列绘制y每列。...,y1,…,xn,yn) 在这种格式,将使用相同坐标绘制多条曲线。...具体来讲,针对y每个数据,以数据索引当做x与其值配对绘制曲线。如果y是向量,那么x尺度范围从1到y长度。如果y是矩阵,则绘制y每列,列数据对应x,则取各值对应行号。...h=plot(______) 这种格式返回由图中各线条句柄构成列向量h,即h每个元素就是图中一条线句柄,当绘制多条线时,用户可通过某条线句柄对该线进行特定修改。

1.5K20
  • 【Python篇】matplotlib超详细教程-由入门到精通(上篇)

    坐标 (Axes):图表数据区域,它可以包含多条曲线或数据点。 曲线 (Line):用来展示数据线段。 刻度 (Ticks):坐标上显示数据标记。...# 绘制图表 plt.plot(x, y) # 设置坐标范围 plt.xlim(0, 6) # X 范围 plt.ylim(0, 30) # Y 范围 # 设置 X 和 Y 刻度...在进行可视化之前,确保数据是干净。 4.2 绘制多个数据系列 有时候我们需要在同一个图表展示多个数据系列,来进行对比或分析。我们可以通过在 matplotlib 绘制多个数据线来实现这一点。...示例:绘制多条折线 假设我们有两个产品销售数据,并想在同一个图表展示。...plt.legend():显示图例,以便区分不同产品线。 通过这个例子,我们学会了如何在同一个图表绘制多个数据系列,这在多维数据分析中非常有用。

    65710

    一文搞懂Matlab画图那些事(上篇)

    说明:本博文主要是二维图形绘制,二维图形是将平面坐标上数据点连接起来平面图形。可以采用不同坐标系,直角坐标、对数坐标、极坐标等。二维图形绘制是其他绘图操作基础。...plot(Y)如果Y是m×n数组,以1:m为X横坐标,Y每一列元素为Y坐标,绘制n条曲线;如果Y是n×1或者1×n向量,则以1:n为横坐标,Y为坐标表绘制1条曲线。...B. plot(X1,Y1)如果X和Y都是数组,按列取坐标数据绘图,此时它们必须具有相同尺寸;如果X和Y其中一个是向量另一个为数组,X和Y尺寸相等方向对应绘制多条曲线;如果X和Y其中一个是标量另一个为向量...,那么将绘制垂直X或者Y离散点。...在MATLAB,如果需要绘制具有不同纵坐标标度两个图形,可以使用plotyy绘图函数。调用格式为:plotyy(x1,y1,x2,y2) 其中x1,y1对应一条曲线,x2,y2对应另一条曲线。

    2.9K71

    matplotlib基础绘图命令之plot

    第一个参数值作为x坐标,第二个参数值作为y坐标,从而绘制折线图。...当只提供一个数值参数时,自动将其作为y坐标,x坐标为对应数值下标,示例如下 >>> plt.plot([1, 2, 3, 4]) 输出结果如下 ?...当在同一幅图片上绘制多条折线时,matplotlib有一个内置调色盘,颜色梯度如下 '#1f77b4', '#ff7f0e', '#2ca02c', '#d62728', '#9467bd', '#8c564b...和Rbase plot语法相比,matplotlibplot命令在绘制多条直线时更加简洁直观。 ·end· —如果喜欢,快分享给你朋友们吧— 原创不易,欢迎收藏,点赞,转发!...生信知识浩瀚海,在生信学习道路上,让我们一起并肩作战! 本公众号深耕耘生信领域多年,具有丰富数据分析经验,致力于提供真正有价值数据分析服务,擅长个性化分析,欢迎有需要老师和同学前来咨询。

    1.3K40

    plot函数用法_ezplot函数

    ,图是列Y对与列XX或Y一个是向量,一个是矩阵,矩阵必须具有一定尺寸,使得其尺寸之一等于向量长度。...,Xn,Yn,LineSpecn) 设置每条线线型,标记类型和颜色 (4)plot(Y)创建数据二维折线图Y与每个值索引 若Y是向量,则x刻度范围为1到Y长度那么大 若Y是矩阵,图像是列Y和行号关系...k 黑色 型 二.应用情况 (1)绘制多条线 x=linespace(-2*pi,2*pi); % linespace(x1.x2,n)是均分计算指令,生成x1到x2之间n个行线型矢量...% 默认n是100 y1=sin(x); y2=cos(x); plot(x,y1,x,y2) (2)矩阵做图 y=magic(4) %magic:生成行列和对角线元素和相等矩阵,第二章文章总结过...,即可以独立完成一些作图,没有很复杂东西,唯一困难是在不同算法结合数学公式和数据集完成图像分析,本人尚才疏学浅,内容中有任何错误地方,望告知,我会加以修改,之后会继续更新。

    1.1K20

    python绘图与数据可视化(二)

    ,并且它可以配合 Python GUI 工具( PyQt、Tkinter 等)在应用程序嵌入图形。...,也称为域区,或者绘图区; Axis:指坐标系垂直与水平,包含长度大小(图中轴长为 7)、标签(指 x ,y)和刻度标签; Artist:您在画布上看到所有元素都属于 Artist...参数,它也是一个序列,它包含了所有线型实例; **axes.plot()**这是 axes 类基本方法,它将一个数组值与另一个数组绘制线或标记,plot() 方法具有可选格式字符串参数,...在本节,我们将学习如何在同一画布上绘制多个子图。...“-”负号乱码问题 Matplotlib双图 在一些应用场景,有时需要绘制两个 x 或两个 y ,这样可以更直观地显现图像,从而获取更有效数据。

    15910

    【MATLAB】三维绘图 ( 三维绘图步骤 )

    文章目录 一、绘制三维图像 1、三维绘图步骤 2、代码示例 二、双峰函数 一、绘制三维图像 ---- 1、三维绘图步骤 定义 x,y,z 变量 , % z 元素列举 % 从 0 开始 , 每次递增...定义 y 变量 % 使用 cos 函数 , 传入 z 作为参数 y = cos(z); 绘制三维图像 : 调用 plot3 函数 , 绘制三维图像 , 传入三个参数是 x,y,z 变量 ; % 绘制三维图像...plot3(x, y, z); 设置网格 : % 在图片中加入网格线 grid on % 将 x,y,z 方向网格设置成正方形 axis square 2、代码示例 三维绘图代码示例 : %%...% 设置标题 title('三维图像') % x 标签 xlabel('x'); % y 标签 ylabel('y') % z 标签 zlabel('z') % 在图片中加入网格线 grid...on % 将 x,y,z 方向网格设置成正方形 axis square % 在同一个幕布绘制多条线 %hold on % 不保留当前线 %hold off 运行效果 : 二、双峰函数

    91120

    Python matplotlib绘制折线图

    最开始绘制折线图中,图像y坐标范围是数据范围,坐标原点不是0,使用yticks函数可以设置想要坐标范围。同理xticks可以用于设置x坐标的范围。...grid(): 用于设置图表网格线,使用linestyle参数设置网格线样式,常用样式有下表几种,plot()函数也可以用linestyle参数设置折线图样式。...点虚线 : xlabel(): 用于设置x标签,说明x坐标的含义,第一个参数传入需要设置标签值,后面可以通过其他参数设置显示效果,字体大小等。ylabel同理。...有多条折线图时,图例可以用于区分每条折线图表示含义,将James得分和篮板、助攻展示在同一张图中。...在设置坐标、标签、标题时,使用'set_'开头方法进行设置,设置x标签用set_xlabel()。 autofmt_xdate(): x坐标值自适应倾斜。

    5.4K20

    数据可视化图表之折线图

    这些变量分别位于图表 X 和 Y 上。折线图看起来像在图表上从左到右一条或多条线上连接点,每个点代表一个数据值。折线图类型折线图具有三种主要类型,主要用于数学和统计学。...简单折线图绘制一个简单折线图,仅用一条线显示两个不同变量之间关系。简单折线图是日常生活中最常用经典折线图。多折线图多折线图是用两条或多条线绘制折线图。...当需要显示两个或多个变量数据时,用于表示在同一时期内发生变化两个或多个变量。复合折线图复合折线图有助于展示细分为不同类型数据,并扩展到简单折线图之外。复合折线图在一个图表显示多个数据集。...换句话说,复合折线图是简单折线图和多折线图组合。折线图优缺点优点折线图易于理解,并能即时感知趋势。缺点在折线图中使用多条线会使折线图混乱且难以理解。...1.打开SovitChart编辑容器面板,从左边组件库中选择“折线图”组件,拖拽到容器面板;2.选中“折线图”组件,在右边弹出属性面板输入相应数据值;3.确认保存即可。

    4.1K20

    5000个matlab常见问题锦集雄关路(001)

    右键快捷方式,选择属性,并在 Start in 设置启动时工作路径。 需要注意是,上述三种方法互有冲突,因此仅建议通过一种方式进行设置。 2、如何在新版本 MATLAB 绘制多边形?...在旧版本,一般用 impoly 函数绘制多边形,在新版本(R2018b之后)可以用 drawpolygon roi = drawpolygon('Color','r'); 3、如何改变坐标刻度线与文字颜色...p 五角星形 h 六角星形 5、MATLAB 如何控制坐标刻度线标签、范围和坐标刻度线位置?...和 zticks 函数控制刻度线沿位置。...使用字符向量元胞数组指定标签。如果不希望显示刻度标签,请指定空元胞数组{}。若要在标签包含特殊字符或希腊字母,请使用 Tex 标记, \pi。

    4.8K10

    【MATLAB】基本绘图 ( plot 函数绘制多个图形 | legend 函数标注图形 | 图形修饰 )

    文章目录 一、plot 函数绘制多个图形 二、legend 函数标注图形 三、图形修饰 一、plot 函数绘制多个图形 ---- 使用单个 plot 函数绘制多条曲线 : plot 函数可以传入多个可变参数...* pi; y1 = sin(x); y2 = cos(x); % 绘制 sin 曲线, 红色 + 圆圈 + 虚线 % 绘制 cos 曲线, 绿色 + 三角 + 冒号线 plot(x, y1, '...(x); % 绘制 sin 曲线, 红色 + 圆圈 + 虚线 % 绘制 cos 曲线, 绿色 + 三角 + 冒号线 plot(x, y1, '--or', x, y2, '^g:'); % 按照顺序标识标识图形...+ 圆圈 + 虚线 % 绘制 cos 曲线, 绿色 + 三角 + 冒号线 plot(x, y1, '--or', x, y2, '^g:'); % 按照顺序标识标识图形 legend('sin(x...)', 'cos(x)'); % 添加标题 title('正弦/余弦函数'); % 添加 x 标签 % \pi 在图像显示小写希腊字母 xlabel('x = [0, 2\pi]');

    4K30

    Matplotlib库

    高级绘图技巧 Matplotlib 还支持一些高级绘图技巧,动画绘制、多图并排显示、自定义坐标样式等。此外,它还支持将图片导出为多种格式, PDF、SVG、JPG、PNG 等。 6....文本支持 Matplotlib 具有广泛文本支持,包括对数学表达式支持、对光栅和矢量输出 truetype 支持、具有任意旋转换行符分隔文本以及 Unicode 支持。 7....通过掌握其基本用法和高级技巧,你可以在数据分析和科学计算获得极大帮助。 Matplotlib如何实现动画绘制?...在Matplotlib设置图表详细属性包括但不限于以下几类: 全局图表属性:通过matplotlibrc文件或rcParams命令,可以全局自定义图表大小、DPI、线宽度、坐标样式、网格属性等...特定函数属性:set_axes、plot 和 plot_figure等函数,它们允许设置绘制曲线并允许自定义标签、图例、坐标等。

    6410

    Python气象绘图教程(四)

    二、新内容 今天主要讲解坐标网格线和标题、图例、合并两幅子图横坐标并取消空白: A、坐标在不设置时,会自动根据数据大小进行最合适展示(当然只是电脑认为最合适),但没有坐标名字,大多数时候需要定制坐标...还可以指定是否开启x,y网格线ax.grid(True,axis='y') ? ax.grid(True,axis='x') ?...C、昨天讲解了如何在同一子图中合并横坐标,那用到了twin命令。今天将了解如何合并两幅子图坐标,这幅图展示了去年月平均气温和累年月平均气温距平变化。...'all'命令,这是令两幅子图共享x。...而第二排命令,指令两个之间空白等于0。 改动前(素图): ? 定制化图表后: ? 在绘制气温距平柱状图时,如何使正负柱体颜色不一致呢。

    2.7K31

    图扑软件 3D 组态编辑器,低代码零代码构建数字孪生工厂

    智慧工厂工厂从“制造”向“智造”进化,需将产品、设备、生产线、车间等制造系统信息共享,整合研发设计、个性定制、生产制造、物流配送等模块,线上验证生产过程合理性。...图扑三维可视化技术采用 B/S 架构,与其他主流前端框架 Angular、React 和 Vue 等无缝融合,打破了以往用户在控制室内控制场景局限性。...用户无需关心繁琐复杂 WebGL 操作,可以将精力放到应用业务层,节省开发费用,加快开发进程。绘图区绘图区可自由调节尺寸,有 X 缩小、X 扩大、Y 缩小、Y 扩大四个按钮调节大小。...需要组合多条生产线进行监控时,可扩大绘图区面积。模型操作示例模型包含六机器人、雕刻机、CNC、AGV、物料库、抛光机、清洗槽、生产线。...在可视化大屏内还能绘制 AGV 小车移动轨迹,助力车间巡检。

    1.2K20

    【python-opencv】绘图(目标检测框及其置信度等)

    如果对闭合图形(圆)传递-1 ,它将填充形状。默认厚度= 1 lineType:线类型,是否为8连接线,抗锯齿线等。默认情况下,为8连接线。...cv.LINE_AA给出了抗锯齿线条,看起来非常适合曲线。 要绘制多边形,首先需要顶点坐标。将这些点组成形状为ROWSx1x2数组,其中ROWS是顶点数,并且其类型应为int32。...cv.polylines()可用于绘制多条线。只需创建要绘制所有线条列表,然后将其传递给函数即可。所有线条将单独绘制。与为每条线调用cv.line相比,绘制一组线是一种更好,更快方法。...向图像添加文本: 要将文本放入图像,需要指定以下内容。 - 您要写入文字数据 - 您要放置它位置坐标(即数据开始左下角)。...一个参数是中心位置(x,y)。 #下一个参数是长度(长长度,短长度)。 #angle是椭圆沿逆时针方向旋转角度。

    1.8K10

    吐血整理:24种可视化图表优缺点对比,一图看懂!

    优点:大家都熟悉形式;非常适合于类别之间简单比较。 缺点:许多条形图可能会造成趋势线印象,而不是突出离散值;多组条形可能变得难以解析。...通常用于描绘决策,数据如何在系统中移动,或者人们如何与系统交互,例如用户在网上购买产品过程。(也称为决策树,它是流程图一种类型。) 优点:形式化系统,被普遍接受,用于表示具有多个决策点流程。...11 折线图 显示值如何变化一些相互连接点,通常随时间推移而变化(连续数据)。常用于通过把多条线画在一起来比较趋势,例如几家公司收入。(也称为体温记录图或趋势线。)...12 棒棒糖图 类似于点图,但在单个测量值上绘制两个点,用一根线连接,以显示两个值之间关系。绘制几个棒棒糖图,可以产生类似于浮动条形图效果,其中值并不全都固定在同一个点上。...14 网络图 连接在一起节点和线,以显示一个群体各元素之间关系。通常用于表示实物之间相互联系,计算机或人。

    4.3K33

    硕士本科论文通过matlab出漂亮一点仿真图

    文字标注是图形修饰重要因素,它可以是用户在窗口上随意添加字符说明,还可以是坐标对象中所用到刻度标志等。...ColorOrder 属性: 设置多条曲线颜色顺序,应该为一个 n x 3 矩阵, 可以由 colormap() 函数来设置。...XGrid 属性: 表示 x 是否加网格线,可选值为 'off' 和 'on', 此外还类似地有 YGrid 和ZGrid 选项。 XLim 属性: x 上下限,以向量 [xm,xM] 形式给出。...对 y 和 z 也将有相应标尺属性, ZTick 等。...修改图窗颜色和坐标区颜色,然后选择线条属性,分别修改两条线颜色、宽度、线形、marker之类 结果类似这种,然后再视图中选中图例,加上曲线说明 之前一些文章参考 MATLAB plot绘制图像

    1.4K50

    吐血整理:24种可视化图表优缺点对比,一图看懂!

    优点:大家都熟悉形式;非常适合于类别之间简单比较 缺点:许多条形图可能会造成趋势线印象,而不是突出离散值;多组条形可能变得难以解析 04 气泡图 散布在两次测量上点,为数据增加了第三个维度(...常用来表示复杂关系,绘制不同国家多个人口数据块。(也被错误地称为散点图。)...优点:形式化系统,被普遍接受,用于表示具有多个决策点流程 缺点:必须理解已确定语法(例如,菱形表示决策点;平行四边形表示输入或输出等规则) 08 地理图 也叫地图,用于表现属于现实世界位置地图...常用于通过把多条线画在一起来比较趋势,例如几家公司收入。(也称为体温记录图或趋势线。)...优点:大家都熟悉形式;非常适合于一目了然地表现趋势 缺点:如果我们重点关注趋势线,将更难看到和探讨离散数据点;太多趋势线使得人们很难看到任何单根线 12 棒棒糖图 类似于点图,但在单个测量值上绘制两个点

    4.8K20

    R语言画图时常见问题

    大家好,又见面了,我是你们朋友全栈君。 1 如何在同一画面画出多张图?...修改绘图参数, par(mfrow = c(2,2)) 或 par(mfcol = c(2,2)); par():mar设置图离四个边缘距离;bg设置背景颜色;xaxt和yaxt设置坐标标签类型...3 如何在已有图形上加一条水平线 使用低水平绘图命令 abline(),它可以作出水平线(y 值 h=)、垂线(x 值 v=)和斜线(截距 a=, 斜率 b=) 。...简要地说,高水平绘图命令可以在图形设备上绘制新图;低水平绘图命令将在已经存在图形上添加更多绘图信息,点、线、多边形等;使用交互式绘图命令创建绘图,可以使用鼠标这类定点装置来添加或提取绘图信息。...在 R 可以通过绘图参数 par(new = TRUE)使得绘制第二个绘图 (hight-level plot) 时保留第一个绘图区域,这样两张绘图会重叠在一起,看起来就是双坐标图。

    4.7K20
    领券