찾다
CMS 튜토리얼Word누르다원형 및 게이지 차트: Plotly.js와의 상호 작용 잠금 해제, 5부

饼图和仪表图:使用 Plotly.js 解锁交互性,第 5 部分

이 시리즈를 처음부터 지켜보신 분이라면 Plotly.js가 동일한 scatter 类型来创建折线图和气泡图。唯一的区别是,我们在创建折线图时必须将 mode 设置为 lines,而在创建气泡图时必须将 markers 设置为 mode을 사용한다는 것을 눈치채셨을 것입니다.

마찬가지로 Plotly.js를 사용하면 type 속성에 동일한 값을 사용하고 만들고 싶은 차트에 따라 다른 속성의 값을 변경하여 원형 차트, 도넛 차트, 게이지 차트를 만들 수 있습니다.

Plotly.js에서 원형 차트 만들기

type 属性设置为 pie 来在 Plotly.js 中创建饼图。还有其他属性,例如 opacityvisiblename 也是其他图表类型所共有的。 name 属性用于提供当前饼图跟踪的名称。该名称随后显示在图例中以供识别。您可以通过将 showlegend 属性分别设置为 truefalse 来显示或隐藏图表图例中的饼图跟踪。您可以使用 labels 속성을 pie로 설정하여 Plotly.js에서 원형 차트를 만들 수 있습니다. 다른 차트에도 불투명도, visiblename과 같은 다른 속성이 있습니다. 유형에 공통적입니다. name 속성은 현재 파이 추적의 이름을 제공하는 데 사용됩니다. 이 이름은 식별을 위해 범례에 표시됩니다. showlegend 속성을 ​​각각 true 또는 false로 설정하여 이를 표시할 수 있습니다. 또는 차트 범례에서 원형 차트 추적을 숨깁니다. labels 속성을 ​​사용하여 원형 차트의 다양한 부분에 대한 레이블 이름을 설정할 수 있습니다.

원형 차트의 경우 마커 개체를 사용하여 차트의 여러 부분의 모양을 제어합니다. marker 中的 color 属性可用于设置饼图每个扇区的颜色。不同扇区的颜色可以指定为 color 속성 내에 중첩된 배열 값입니다.

선 개체 내에 중첩된 colorwidth 属性来设置包围每个扇区的所有线条的颜色和宽度。您还可以选择使用布尔值 sort 属性对饼图的所有扇区从大到小进行排序。同样,借助 direction 属性,可以将扇区的方向更改为 顺时针 逆时针 을 사용할 수도 있습니다.

다음 코드는 세계 상위 5개 국가의 산림 면적을 나열하는 기본 원형 차트를 만듭니다.

으아아아

보시다시피, 저희는 더 이상 xy 属性来指定我们要绘制的点。现在,这是在 valueslabels의 도움으로 이 일을 하고 있지 않습니다. 백분율은 입력된 값에 따라 자동으로 결정됩니다.

기본적으로 원형 차트의 첫 번째 조각은 12시에서 시작됩니다. -360에서 360 사이의 값을 허용하는 rotation 속성을 사용하여 차트의 시작 각도를 변경할 수 있습니다. 기본 12시 값은 각도 0과 같습니다.

차트의 특정 부분을 돋보이게 하려면 pull 属性,该属性可以接受一个数字或值在 0 到 1 之间的数字数组。 pull 속성을 사용하여 원형 차트에서 특정 섹터를 꺼낼 수 있습니다. 당기는 거리는 파이 또는 도넛의 더 큰 반경의 일부와 같습니다.

hole 속성 값을 지정하면 원형 차트를 도넛 차트로 변환하는 것이 매우 쉽습니다. 파이 차트에서 주어진 반경 부분을 잘라내어 도넛 차트를 만듭니다.

마커 개체 내에 중첩된 colors 属性来控制饼图中各个扇区的颜色。还可以借助嵌套在线条对象内的 widthcolor 속성을 사용하여 각 섹터를 둘러싼 선의 너비와 색상을 변경할 수 있습니다. 경계선의 기본 너비는 0입니다. 이는 기본적으로 섹터 주위에 선이 그려지지 않음을 의미합니다.

각각의 hovertext 属性,可用于为每个单独的扇区提供一些额外的文本信息。当观看者将鼠标悬停在某个扇区上时,他们将可以看到这些信息。显示文本的条件之一是 hoverinfo 属性应包含 text 标志。您可以使用嵌套在 familysizecolor 属性来设置饼图扇区内部或外部的文本颜色"inline">insidetextfont 和 outsidetextfont 개체도 있습니다.

다음 코드는 이전 원형 차트의 데이터를 사용하여 방금 배운 다른 속성을 사용하는 도넛 차트를 만듭니다.

var pieDiv = document.getElementById("pie-chart");

var traceA = {
  type: "pie",
  values: [8149300, 4916438, 4776980, 3100950, 2083210],
  labels: ['Russia', 'Canada', 'Brazil', 'United States', 'China'],
  hole: 0.25,
  pull: [0.1, 0, 0, 0, 0],
  direction: 'clockwise',
  marker: {
    colors: ['#CDDC39', '#673AB7', '#F44336', '#00BCD4', '#607D8B'],
    line: {
      color: 'black',
      width: 3
    }
  },
  textfont: {
    family: 'Lato',
    color: 'white',
    size: 18
  },
  hoverlabel: {
    bgcolor: 'black',
    bordercolor: 'black',
    font: {
      family: 'Lato',
      color: 'white',
      size: 18
    }
  }
};

var data = [traceA];

var layout = {
  title: "Area Under Forest for Different Countries"
};

Plotly.plot(pieDiv, data, layout);

在 Plotly.js 中创建仪表图表

仪表图的基本结构与圆环图类似。这意味着我们可以使用一些巧妙选择的值并通过仍然将 type 属性设置为 pie 来创建简单的仪表图表。基本上,我们将隐藏整个饼图的某些部分,使其看起来像仪表图。

首先,我们需要为 values 属性选择一些值。为了简单起见,我将使用饼图的上半部分作为我的仪表图。这意味着这些值应该在我想要可见的部分和我想要隐藏的饼图部分之间平均分配。图表的可见部分可以进一步分为更小的部分。以下是为仪表图表选择值的示例。

values: [100 / 5, 100 / 5, 100 / 5, 100 / 5, 100 / 5, 100]

上行中的数字 100 是任意的。可以看到,前五个切片加起来是100,这也是为饼图隐藏区域设置的值。这将整个馅饼平均分为隐藏部分和可见部分。

这是创建基本仪表图表的完整代码。您应该注意到,我已将应隐藏的扇区的颜色属性设置为白色。同样,相应扇区的 textlabels 值也已设置为空字符串。 rotation 属性已设置为 90,以便图表不会从默认的 12 点钟位置绘制。

var gaugeDiv = document.getElementById("gauge-chart");

var traceA = {
  type: "pie",
  showlegend: false,
  hole: 0.4,
  rotation: 90,
  values: [100 / 5, 100 / 5, 100 / 5, 100 / 5, 100 / 5, 100],
  text: ["Very Low", "Low", "Average", "Good", "Excellent", ""],
  direction: "clockwise",
  textinfo: "text",
  textposition: "inside",
  marker: {
    colors: ["rgba(255, 0, 0, 0.6)", "rgba(255, 165, 0, 0.6)", "rgba(255, 255, 0, 0.6)", "rgba(144, 238, 144, 0.6)", "rgba(154, 205, 50, 0.6)", "white"]
  },
  labels: ["0-10", "10-50", "50-200", "200-500", "500-2000", ""],
  hoverinfo: "label"
};

代码的下一部分涉及仪表图表的指针。您为 Degrees 变量设置的值将确定绘制针的角度。 radius 变量决定针的长度。属性 x0y0 用于设置线条的起点。同样,属性 x1y1 用于设置线条的终点。

您可以借助 SVG 路径为针创建更复杂的形状。您所要做的就是将 type 属性设置为 path 并使用 path 属性指定实际路径。您可以在参考的布局形状部分阅读更多相关信息。

var degrees = 115, radius = .6;
var radians = degrees * Math.PI / 180;
var x = -1 * radius * Math.cos(radians);
var y = radius * Math.sin(radians);

var layout = {
  shapes:[{
      type: 'line',
      x0: 0,
      y0: 0,
      x1: x,
      y1: 0.5,
      line: {
        color: 'black',
        width: 8
      }
    }],
  title: 'Number of Printers Sold in a Week',
  xaxis: {visible: false, range: [-1, 1]},
  yaxis: {visible: false, range: [-1, 1]}
};

var data = [traceA];

Plotly.plot(gaugeDiv, data, layout, {staticPlot: true});

本节的所有代码都会创建以下仪表图表。目前,该图表不是很奇特,但它可以作为一个很好的起点。

最终想法

在本教程中,您学习了如何使用 Plotly.js 中的 pie 跟踪类型创建饼图和圆环图。您还学习了如何仔细设置一些属性的值,以将这些饼图转换为简单的仪表图。您可以在参考页面上阅读有关饼图及其不同属性的更多信息。

这是我们的交互式 Plotly.js 图表系列的最后一个教程。第一个介绍性教程为您提供了该库的概述。第二、第三和第四教程分别向您展示了如何创建折线图、条形图和气泡图。我希望您喜欢本教程以及整个系列。如果您有任何疑问,请随时在评论中告诉我。

위 내용은 원형 및 게이지 차트: Plotly.js와의 상호 작용 잠금 해제, 5부의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
3 일 후에 WordPress를 배울 수 있습니까?3 일 후에 WordPress를 배울 수 있습니까?Apr 09, 2025 am 12:16 AM

3 일 이내에 WordPress를 배울 수 있습니다. 1. 테마, 플러그인 등과 같은 마스터 기본 지식 2. 설치 및 작업 원칙을 포함한 핵심 기능을 이해하십시오. 3. 예제를 통해 기본 및 고급 사용법을 배우십시오. 4. 디버깅 기술 및 성능 최적화 제안을 이해하십시오.

WordPress는 CMS입니까?WordPress는 CMS입니까?Apr 08, 2025 am 12:02 AM

WordPress는 CMS (Content Management System)입니다. 웹 사이트 콘텐츠의 생성 및 관리를 지원하기 위해 컨텐츠 관리, 사용자 관리, 테마 및 플러그인 기능을 제공합니다. 작업 원칙에는 데이터베이스 관리, 템플릿 시스템 및 플러그인 아키텍처가 포함되며 블로그에서 회사 웹 사이트에 이르기까지 다양한 요구에 적합합니다.

WordPress는 무엇에 좋은가?WordPress는 무엇에 좋은가?Apr 07, 2025 am 12:06 AM

WordPressIsGoodForVirtSallyWebProjectDueToitsAcms.itexcelsin : 1) 사용자 친화적 인, easywebsiteseSetup; 2) 유연성 및 커스텀 화를 허용합니다

Wix 또는 WordPress를 사용해야합니까?Wix 또는 WordPress를 사용해야합니까?Apr 06, 2025 am 12:11 AM

WIX는 프로그래밍 경험이없는 사용자에게 적합하며 WordPress는 더 많은 제어 및 확장 기능을 원하는 사용자에게 적합합니다. 1) Wix는 드래그 앤 드롭 편집자와 풍부한 템플릿을 제공하여 웹 사이트를 신속하게 구축 할 수 있습니다. 2) 오픈 소스 CMS로서 WordPress는 거대한 커뮤니티 및 플러그인 생태계를 보유하고 있으며 심층적 인 사용자 정의 및 확장을 지원합니다.

WordPress 비용은 얼마입니까?WordPress 비용은 얼마입니까?Apr 05, 2025 am 12:13 AM

WordPress 자체는 무료이지만 사용 비용은 추가 비용이 필요합니다. 1. WordPress.com은 무료에서 유료에 이르는 패키지를 제공하며, 한 달에 몇 달러에서 수십 달러에 이르는 가격으로 가격이 제공됩니다. 2. WordPress.org는 도메인 이름 (연간 10-20 달러)과 호스팅 서비스 (월 5-50 달러)를 구매해야합니다. 3. 대부분의 플러그인과 테마는 무료이며 유급 가격은 수십에서 수백 달러 사이입니다. 플러그인과 테마를 합리적으로 사용하고 정기적으로 유지하고 최적화하는 올바른 호스팅 서비스를 선택함으로써 WordPress의 비용은 효과적으로 제어되고 최적화 될 수 있습니다.

WordPress는 여전히 무료입니까?WordPress는 여전히 무료입니까?Apr 04, 2025 am 12:06 AM

WordPress의 핵심 버전은 무료이지만 사용 중에 다른 요금이 발생할 수 있습니다. 1. 도메인 이름과 호스팅 서비스에는 지불이 필요합니다. 2. 고급 테마 및 플러그인이 충전 될 수 있습니다. 3. 전문 서비스 및 고급 기능이 청구될 수 있습니다.

WordPress는 초보자에게 쉽습니까?WordPress는 초보자에게 쉽습니까?Apr 03, 2025 am 12:02 AM

WordPress는 초보자가 쉽게 시작할 수 있습니다. 1. 백그라운드에 로그인 한 후 사용자 인터페이스는 직관적이며 간단한 대시 보드는 필요한 모든 기능 링크를 제공합니다. 2. 기본 작업에는 컨텐츠 작성 및 편집이 포함됩니다. Wysiwyg 편집기는 컨텐츠 생성을 단순화합니다. 3. 초보자는 플러그인 및 테마를 통해 웹 사이트 기능을 확장 할 수 있으며 학습 곡선은 존재하지만 연습을 통해 마스터 할 수 있습니다.

왜 WordPress를 사용합니까?왜 WordPress를 사용합니까?Apr 02, 2025 pm 02:57 PM

사람들은 힘과 유연성 때문에 WordPress를 사용하기로 선택합니다. 1) WordPress는 다양한 웹 사이트 요구에 적합한 사용 편의성 및 확장 성을 가진 오픈 소스 CM입니다. 2) 풍부한 주제와 플러그인, 거대한 생태계 및 강력한 지역 사회 지원이 있습니다. 3) WordPress의 작동 원리는 테마, 플러그인 및 핵심 기능을 기반으로하며 PHP 및 MySQL을 사용하여 데이터를 처리하며 성능 최적화를 지원합니다.

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
4 몇 주 전By尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

Eclipse용 SAP NetWeaver 서버 어댑터

Eclipse용 SAP NetWeaver 서버 어댑터

Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.

Atom Editor Mac 버전 다운로드

Atom Editor Mac 버전 다운로드

가장 인기 있는 오픈 소스 편집기

ZendStudio 13.5.1 맥

ZendStudio 13.5.1 맥

강력한 PHP 통합 개발 환경

VSCode Windows 64비트 다운로드

VSCode Windows 64비트 다운로드

Microsoft에서 출시한 강력한 무료 IDE 편집기

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경