ホームページ バックエンド開発 PHPチュートリアル 求一个饼状图或柱状图php生成类或例子_PHP

求一个饼状图或柱状图php生成类或例子_PHP

Jun 01, 2016 pm 12:39 PM
function image pi 生成する

PHP代码:--------------------------------------------------------------------------------
/*-------------------------------------------------------------------------*/
//
// Module Name: 一个3D的饼图类
//
// Author:Avenger(avenger@php.net) Last Modify: 2002-10-30 11:19
// Copyright (c) 2002 by Avenger
/*-------------------------------------------------------------------------*/

//公用函数部分

//把角度转换为弧度
function deg2Arc($degrees) {
return($degrees * (pi()/180.0));
}

//RGB
function getRGB($color){
$R=($color>>16) & 0xff;
$G=($color>>8) & 0xff;
$B=($color) & 0xff;
return (array($R,$G,$B));
}

// 取得在椭圆心为(0,0)的椭圆上 x,y点的值
function pie_point($deg,$va,$vb){
$x= cos(deg2Arc($deg)) * $va;
$y= sin(deg2Arc($deg)) * $vb;
return (array($x, $y));
}


//3D饼图类

class Pie3d{

var $a; //椭圆长半轴
var $b; //椭圆短半轴
var $DataArray; //每个扇形的数据
var $ColorArray; //每个扇形的颜色 要求按照十六进制书写但前面不加0x
var $Fize; //字体大小
//为边缘及阴影为黑色

function Pie3d($pa=60,$pb=30,$sData="100,200,300,400,500", $sColor="ee00ff,dd0000,cccccc,ccff00,00ccff",$fontsize=1) {
$this->a=$pa;
$this->b=$pb;
$this->DataArray=split(",",$sData);
$this->ColorArray=split(",",$sColor);
$this->Fsize=$fontsize;
}

function setA($v){
$this->a=$v;
}

function getA(){
return $this->a;
}

function setB($v){
$this->b=$v;
}

function getB(){
return $this->b;
}

function setDataArray($v){
$this->DataArray=split(",",$v);
}

function getDataArray($v){
return $this->DataArray;
}

function setColorArray($v){
$this->ColorArray=split(",",$v);
}

function getColorArray(){
return $this->ColorArray;
}


function DrawPie(){
$fsize=$this->Fsize;
$image=imagecreate($this->a*2+40,$this->b*2+40);
$PieCenterX=$this->a+10;
$PieCenterY=$this->b+10;
$DoubleA=$this->a*2;
$DoubleB=$this->b*2;
list($R,$G,$B)=getRGB(0);
$colorBorder=imagecolorallocate($image,$R,$G,$B);
$DataNumber=count($this->DataArray);

//$DataTotal
for($i=0;$iDataArray[$i]; //算出数据和

//填充背景
imagefill($image, 0, 0, imagecolorallocate($image, 255, 255, 255));

/*
** 画每一个扇形
*/

$Degrees = 0;
for ($i = 0; $i $StartDegrees = round($Degrees);
$Degrees += (($this->DataArray[$i]/$DataTotal)*360);
$EndDegrees = round($Degrees);
$percent = number_format($this->DataArray[$i]/$DataTotal*100, 1);
list($R,$G,$B)=getRGB(hexdec($this->ColorArray[$i]));
$CurrentColor=imagecolorallocate($image,$R,$G,$B);
if ($R>60 and $R if ($G>60 and $G if ($B>60 and $B $CurrentDarkColor=imagecolorallocate($image,$R,$G,$B);

//画扇形弧
imagearc($image,$PieCenterX,$PieCenterY,$DoubleA,$DoubleB,$StartDegrees,$EndDegrees,$CurrentColor);

//画直线
list($ArcX, $ArcY) = pie_point($StartDegrees , $this->a , $this->b);
imageline($image,$PieCenterX,$PieCenterY,floor($PieCenterX + $ArcX),floor($PieCenterY + $ArcY),$CurrentColor);

//画直线
list($ArcX, $ArcY) = pie_point($EndDegrees,$this->a , $this->b);
imageline($image,$PieCenterX,$PieCenterY,ceil($PieCenterX + $ArcX),ceil($PieCenterY + $ArcY),$CurrentColor);

//填充扇形
$MidPoint = round((($EndDegrees - $StartDegrees)/2) + $StartDegrees);
list($ArcX, $ArcY) = Pie_point($MidPoint, $this->a*3/4 , $this->b*3/4);

imagefilltoborder($image,floor($PieCenterX + $ArcX),floor($PieCenterY + $ArcY),$CurrentColor,$CurrentColor);
imagestring($image,$fsize,floor($PieCenterX + $ArcX-5),floor($PieCenterY + $ArcY-5),$percent."%",$colorBorder);

//画阴影
if ($StartDegrees>=0 and $StartDegrees if($EndDegrees for($k = 1; $k imagearc($image,$PieCenterX, $PieCenterY+$k,$DoubleA, $DoubleB, $StartDegrees, $EndDegrees, $CurrentDarkColor);
}else{
for($k = 1; $k imagearc($image,$PieCenterX, $PieCenterY+$k,$DoubleA, $DoubleB, $StartDegrees, 180, $CurrentDarkColor);
}
}
}

//输出生成的图片
imagepng($image,'consture.png');
imagedestroy($image);
}//End drawPie()
}//End class
$pie = new Pie3d;
$pie->Pie3d($pa=300,$pb=150,$sData="100,200,300,400,500", $sColor="ee00ff,dd0000,cccccc,ccff00,ddddaa",$fontsize=5);
$pie->DrawPie();
echo '交易分析图';

?>

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホット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ヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Raspberry PI モニターが動作しない、起動後に表示されない Raspberry PI モニターが動作しない、起動後に表示されない Feb 25, 2024 am 09:55 AM

RaspberryPI をモニターに接続し、デバイスを起動しようとすると、画面が表示されません。モニターは信号がないと表示し、スタンバイ モードに入ります。この記事では、この問題について説明し、Raspberry Pi ディスプレイが動作せず、電源を入れてもディスプレイが表示されない場合の対処法を説明します。 Raspberry Pi の起動時に画面が真っ暗になるのはなぜですか? Raspberry Pi は HDMI ホットプラグ機能をサポートしていません。 RaspberryPI の電源を入れた後にモニターを接続またはオンにすると、黒い画面だけが表示されます。さらに、オペレーティング システムが Raspberry Pi にインストールされていない場合、Raspberry Pi は起動せず、黒い画面が表示されるだけです。 Raspberr の場合に RaspberryPI モニターが動作しない問題を修正

C 言語の定数とは何ですか?例を挙げていただけますか? C 言語の定数とは何ですか?例を挙げていただけますか? Aug 28, 2023 pm 10:45 PM

定数は変数とも呼ばれ、一度定義されると、その値はプログラムの実行中に変更されません。したがって、変数を固定値を参照する定数として宣言できます。テキストとも呼ばれます。定数は、Const キーワードを使用して定義する必要があります。構文 C プログラミング言語で使用される定数の構文は次のとおりです - consttypeVariableName; (または) consttype*VariableName; さまざまなタイプの定数 C プログラミング言語で使用されるさまざまなタイプの定数は次のとおりです: 整数定数 - 例: 1,0 、34、4567 浮動小数点定数 - 例: 0.0、156.89、23.456 8 進数および 16 進数の定数 - 例: 16 進数: 0x2a、0xaa.. 8 進数

機能とはどういう意味ですか? 機能とはどういう意味ですか? Aug 04, 2023 am 10:33 AM

ファンクションとは、関数を意味します。これは、特定の関数を備えた再利用可能なコード ブロックです。プログラムの基本コンポーネントの 1 つです。入力パラメータを受け取り、特定の操作を実行し、結果を返すことができます。その目的は、再利用可能なコード ブロックをカプセル化することです。コードの再利用性と保守性を向上させるコード。

PHP を使用して更新可能なイメージ検証コードを生成する方法 PHP を使用して更新可能なイメージ検証コードを生成する方法 Sep 13, 2023 am 11:54 AM

PHP を使用して更新可能な画像検証コードを生成する方法 インターネットの発展に伴い、悪意のある攻撃や機械の自動動作を防ぐために、多くの Web サイトでユーザー認証に検証コードが使用されています。確認コードの一般的なタイプの 1 つは画像確認コードです。これは、ランダムな文字を含む画像を生成し、続行する前にユーザーに正しい文字を入力するように要求します。この記事では、PHP を使用して更新可能なイメージ検証コードを生成する方法を紹介し、具体的なコード例を示します。ステップ 1: 確認コード イメージを作成する まず、確認コード イメージを作成する必要があります。

退社前にちょっとした会議のために上司に呼び止められる心配はもうありません。AI アシスタントが自動的に議事録を作成するのに役立ちます。 退社前にちょっとした会議のために上司に呼び止められる心配はもうありません。AI アシスタントが自動的に議事録を作成するのに役立ちます。 Sep 04, 2023 pm 11:21 PM

iFlytekは、話し言葉を直接草稿に変換できる議事録機能をアップグレードし、録音に基づいてAIが議事録を要約できるようにした。 AI で議事録作成を完全サポート 8 月 31 日、iFlytek Web 版がバージョンアップされ、人工知能を活用してインテリジェントに議事録を作成できる PC 側のリアルタイム記録機能が追加されました。この機能の開始により、ユーザーはコンテンツの整理や会議後の重要な作業項目のフォローの効率が大幅に向上します。会議に頻繁に参加する人にとって、この機能は時間とエネルギーを大幅に節約できる非常に実用的なツールであることは間違いありません。この機能の適用シナリオは、主に PC 上の録音をテキスト化し、議事録を自動的に作成することです。優れたサービスと最先端のテクノロジーを備えた製品で、オフィスの効率を迅速に向上させます。

Python で pyWaffle を使用してワッフル チャートを生成する Python で pyWaffle を使用してワッフル チャートを生成する Aug 17, 2023 am 11:49 AM

データの視覚化は、情報を効率的に理解してプレゼンテーションするために不可欠です。利用可能な多くのチャート タイプの中でも、ワッフル チャートは、正方形のタイルを使用したグリッド状の構造でデータを表示する新しい方法です。強力な Python モジュール PyWaffle を使用すると、多くの計算およびデータ分析手法と同様に、ワッフル チャートの開発が容易になります。この記事では、洗練された Python モジュール PyWaffle を使用してワッフル チャートを作成する方法を見ていきます。 PyWafle をインストールし、それを使用してカテゴリデータを視覚化する方法を見てみましょう。 cmd で次のコマンドを実行してライブラリをインストールし、それをコードにインポートします。pipinstallpywaffleExample1 の中国語訳は次のとおりです。例 1 この例では、

PHP を使用して基本的な自然言語生成を行う方法 PHP を使用して基本的な自然言語生成を行う方法 Jun 22, 2023 am 11:05 AM

自然言語生成は、データを自然言語テキストに変換する人工知能テクノロジーです。今日のビッグデータ時代では、データを視覚化したり、ユーザーに提示したりする必要がある企業がますます増えており、自然言語生成は非常に効果的な方法です。 PHP は、Web アプリケーションの開発に使用できる非常に人気のあるサーバー側スクリプト言語です。この記事では、PHP を使用して基本的な自然言語を生成する方法を簡単に紹介します。自然言語生成ライブラリの紹介 PHPに付属している関数ライブラリには自然言語生成に必要な関数が含まれていないため、

PIノードティーチング:PIノードとは何ですか? PIノードをインストールしてセットアップする方法は? PIノードティーチング:PIノードとは何ですか? PIノードをインストールしてセットアップする方法は? Mar 05, 2025 pm 05:57 PM

ピン張りのノードの詳細な説明とインストールガイドこの記事では、ピネットワークのエコシステムを詳細に紹介します - PIノードは、ピン系生態系における重要な役割であり、設置と構成の完全な手順を提供します。 Pinetworkブロックチェーンテストネットワークの発売後、PIノードは多くの先駆者の重要な部分になり、テストに積極的に参加し、今後のメインネットワークリリースの準備をしています。まだピン張りのものがわからない場合は、ピコインとは何かを参照してください。リストの価格はいくらですか? PIの使用、マイニング、セキュリティ分析。パインワークとは何ですか?ピン競技プロジェクトは2019年に開始され、独占的な暗号通貨PIコインを所有しています。このプロジェクトは、誰もが参加できるものを作成することを目指しています

See all articles