لقد سأل الكثير عن كيفية الانتقال إلى الرسوم البيانية 3.0. لذلك سيكون كل شيء في ملاحظات الإصدار قريبًا حيث سيكون هناك إصدار ، لكنني سأكتبها هنا في الوقت الحالي:
هذا إصدار رئيسي ، مع بعض التغييرات العاجلة. لذا يرجى الانتباه.
التحديثات:
x-index
es. إنتاج: قيم x. كل إدخال يحتوي الآن على x
و y
.y
، وليس موروثًا من NSNumberFormatter بعد الآن ، للحصول على مجموعة البيانات ومعلومات منفذ العرض لاتخاذ قرارات تنسيق أفضل.objc(...)
، وتغيير تحديث الإصدار الرئيسي)FillFormatter
لديه الآن تمثيل كتلة باستخدام FillFormatter.withblock(...)
saveToCameraRoll()
. نظرًا لأن Xcode 8.0 يتسبب في مشكلات "الخصوصية" مع Apple Review ، يجب عليك إضافة مفتاح خصوصية ألبومات الصور إلى Info.plist
لذلك.كسر التغييرات / كيفية الهجرة:
PieChartDataEntry
/ RadarChartDataEntry
startAtZeroEnabled
قديمة - فقد تم إيقاف هذه المكالمات لفترة طويلة. استبدلها بـ axisMinimum
.chart.valueFormatter = formatter
بـ chart.valueFormatter = ChartDefaultValueFormatter(formatter: formatter)
أو chart.valueFormatter = [[ChartDefaultValueFormatter alloc] initWithFormatter:formatter];
axis.valueFormatter = formatter
بـ axis.valueFormatter = ChartDefaultAxisValueFormatter(formatter: formatter)
أو axis.valueFormatter = [[ChartDefaultAxisValueFormatter alloc] initWithFormatter:formatter];
ChartViewDelegate
، قم بتحديث واجهة chartValueSelected
drawSliceTextEnabled
بـ drawEntryLabelsEnabled
IShapeRenderer
، ثم ضع كود العرض الخاص بك هناكMarkerView
/ MarkerImage
أو تطبيق IMarker
. هناك خيارات أكثر من ذي قبل ...barSpace
قبل ، فانتقل إلى استخدام barWidth
saveToCameraRoll()
، فاستبدله بـ UIImageWriteToSavedPhotosAlbum(chart.getChartImage(trasparent: false), nil, nil, nil)
@objc(name)
. إذا صرخ المترجم الخاص بك أن الفئة غير موجودة ، فحاول إزالة المخطط من اسمه. نادرًا ما يحدث هذا ، لأننا اخترنا فقط الفئات التي نادرًا ما يتم إنشاء مثيل لها بواسطة المستخدم.danielgindi دعم cocoapods؟
danielgindi هل لا يزال
ليس بعد في Cocoapods. كما قلت لم يتم إصدارها بعد.
نعم ، يمكنك نسخها كما كان من قبل. ومع ذلك ، من المريح أكثر سحب xcodeproj
إلى المشروع. لا يُنصح بسحب المصادر نفسها ، لأن ذلك سيجعل تحديث Chrats في مشروعك أكثر صعوبة.
تضمين التغريدة
شكرا على العمل الرائع!
لدي الآن مشكلة ، لاحظت أن فهارس x قد ماتت:
- x-indexes are dead. Intoducing: x-values. Each entry now has an x and a y.
- In general, all functions that accepted x-indices before, now accept an x-value,
so you might have to adjust the names a little bit.
ثم كيف يمكنني إظهار سلسلة (على سبيل المثال ، سلسلة تاريخ) على xAxis بدلاً من رقم عائم (مثل 1.0 ، 2.0 ...)؟
احصل على NSTimeInterval للتاريخ ، NSTimeInterval هو في الواقع ضعف.
لا يمكن أن تنتظر الإصدار! 👍
danielgindi منذ أن قمت بالتحديث إلى XCode 8.0 ، لن يتم إنشاء مشروعي لأن لدي مخططات مثبتة عبر cocoapods ولا يزال يستخدم إصدارًا قديمًا من Swift. متى يمكننا توقع إصدار الرسوم البيانية 3.0 ، أو ما الذي يمكنني فعله لحل هذه الأخطاء في الوقت الحالي؟ شكرا جميعا على جهودكم.
قم بتوجيه ملفك إلى الفرع الرئيسي بدلاً من إصدار في الوقت الحالي
@ petester42 شكرًا pod 'Charts', :git => 'https://github.com/danielgindi/Charts.git', :branch => 'master'
وقم بتشغيل تثبيت pod. بدا الإخراج مثل هذا:
ولكن بعد ذلك ما زلت أحصل على الخطأ "Use Legacy Swift Language Version" عندما حاولت تشغيل المشروع:
هل هناك المزيد من التلميحات المفيدة؟
Carielle لتثبيت Charts 3.0.0 قبل أن يكون متوافقًا مع CocoaPods ، قم بإزالة الرسوم البيانية القديمة من ملف pod ومشروعك ، ثم قم بتنزيل ملف Charts.xcodeproj من صفحة github هذه.
ثم افتح مشروعك المستهدف في XCode واسحب ملف Charts.xcodeproj من الدليل الذي تم تنزيله إليه إلى مشروعك في واجهة XCode.
بعد ذلك ، أضف Charts.framework في قسم "ثنائي مضمن" في الإعدادات العامة لمشروعك.
@ ALL تحقق من رقم 1291
أشر إلى خطأ في وصف الترحيل :
إذا كنت تستخدم المُنسِّقات:
أنا أحصل على نفس Carielle ، سأحاول ما قاله HenryAlkire
ما هو الفرع الذي تستخدمه؟
rrecio لا يمكن أن يكون .. لقد أصلحت هذا مثل بضعة أيام.
كنت أستخدم إعداد cocoapod العادي: pod 'Charts'
لإصلاحه قمت بإزالة إدخال Podfile و Charts.framework المرتبط يدويًا كما أوضح Henry
Enviado تفعل meu iPhone
Em 20 de set de 2016 ، الساعة 21:59 ، Xuan [email protected] escreveu:
rrecio لا يمكن أن يكون .. لقد أصلحت هذا مثل بضعة أيام.
-
أنت تتلقى هذا لأنه تم ذكرك.
قم بالرد على هذه الرسالة الإلكترونية مباشرةً ، أو اعرضها على GitHub ، أو قم بكتم صوت الموضوع.
هل لديك أي فكرة عن موعد توفره على Cocoapods؟
كيف أقوم بترقية الرسوم البيانية للعمل مع Xcode 8.0 و Swift 3.0 باستخدام قرطاج؟
عندما أقوم بتشغيل "تحديث قرطاج" ، فإنه لا يزال يسحب الرسوم البيانية 2.3.0. تم تكوين ملف عربة التسوق الخاص بي لاستخدام أحدث إصدار.
جيثب "danielgindi / الرسوم البيانية"
تحديث $ قرطاج
** مخططات الاستنساخ* * نتيجة الاستنساخ
** عالم الاستنساخ - الكاكاو* * سحب الرسوم البيانية في "v2.3.0"
تضمين التغريدة
سيكون أمرًا رائعًا إذا قمت بتضمين هذه الميزات .. حيث من المفترض أن تكون هذه الميزات رئيسية في المكتبة ... خاصة في الرسوم البيانية العالية:
1) رسم بياني خطي مع شكل علامات مختلفة
https://github.com/danielgindi/Charts/issues/1405
2) قادرة على إضافة عرض مخصص في مواقع محددة في المحور س. تخصيص ألوان الخلفية مفقود في معظم طرق العرض.
https://github.com/danielgindi/Charts/issues/1416
قرطاج تستخدم أحدث إصدار. إذا كنت تريد 3.0 (التي لم يتم إصدارها بعد) استخدم github "danielgindi/Charts" "master"
قم بتنزيل المشروع الكامل باستخدام الفرع الرئيسي ثم قم بسحب وإفلات Charts.xcodeproj ثم انتقل إلى علامة التبويب "عام" وأضف Charts.framework ضمن الثنائيات المضمنة بعد التنظيف والبناء حتى تتمكن من رؤية كل الأخطاء قد اختفت فقط جربها. في حال طلبت أي مساعدة للتعليق ، سأساعدك. @ petester42 @ هوانغ ليبو
HenryAlkire لقد فعلت ما اقترحته وأزلت المخططات من ملف podfile وسحبتها وأفلتها يدويًا في مشروعي ، وأضفتها كثنائي مضمن. ومع ذلك ، عندما أحاول إنشاء المشروع ، أستمر في تلقي هذا الخطأ:
dyld: Library not loaded: @rpath/libswiftCore.dylib
Reason: image not found
يبدو أنه تمت الإشارة إليه من Charts.framework / الرسوم البيانية. أي فكرة عن كيفية حل هذه المشكلة؟
لقد قمت بحل مشكلتي - مشروعي هو مشروع Objective-C باستخدام مكتبة Swift Charts ، لذلك اضطررت إلى الانتقال إلى Build Settings> Build Options> "Embed Swift Standard Libraries" وتعيينها على YES. يحل هذا محل علامة "محتوى مضمّن يحتوي على Swift" تم إهمالها.
يمكن لـ Carielle أيضًا الاطلاع على هذه المشكلة https://github.com/danielgindi/Charts/issues/1487
danielgindi هل من الممكن تقدير إصدار
شكرا لجهودكم 👍
يمكنك استخدام المخططات 3 مع cocoapods الآن بالإشارة إلى الفرع الرئيسي. لا يمكننا ضمان أن يكون ذلك مستقرًا لأنه ليس نهائيًا.
@ petester42 Iam توفير إطار عمل له تبعية في مواصفات البود إلى الرسوم البيانية. لسوء الحظ ، لا يمكنك الإشارة إلى مستودع أو فروع أخرى في مواصفات pod كما هو الحال في ملفات Pod. يمكنني الكتابة فوق Podfile الخاص بي لمشروع المثال الخاص بي ، لكن هذا غير قابل للتوزيع. لذلك أنا مؤمن الآن على Swift 2.2. لكن شكرا على التلميحة :)
قم بالتحديث للآخرين الذين يستخدمون المخططات 3 مع Cocoapods
أنا أعمل على ترحيل مشروع من Swift 2.2 و Xcode 7 إلى Swift 3.0 و Xcode 8.0. باتباع نهج Carielle - وكما ذكر @ petester42 أعلاه - يمكن تثبيت الرسوم البيانية 3 باستخدام cocoapods.
تعديل ملف podfile ليكون:
pod 'Charts', :git => 'https://github.com/danielgindi/Charts.git', :branch => 'master'
أدى إلى ما يلي (1 أكتوبر 2016)
ومع ذلك ، لا تزال هناك بعض مشكلات وقت الإنشاء التي أعمل من خلالها ، كما هو متوقع حتى يتم إصدار الإصدار النهائي.
على سبيل المثال ، يتسبب plotView.xAxis.setLabelsToSkip(10)
حدوث مشكلات نظرًا لأن طريقة setLabelsToSkip لم يتم التعرف عليها الآن. هل يمكنني أن أفترض أن هذا مؤقت أثناء العمل على الإصدار النهائي ، أم أن هناك طريقة أخرى يجب أن أستخدمها؟
شكرًا danielgindi والآخرين على عملك الرائع! سأكون متحمسًا للمساعدة في المساهمة في توثيق الترحيل حيث أتعلم من خلال تكييف مشروعي الخاص.
قبل تحديث مخطط iOS إلى الإصدار 3.0 ، يمكنني ذلك
دع radarChartData = RadarChartData (xVals: dataPoints، dataSet: radarChartDataSet)
ومع ذلك ، بعد الترقية ، لا يمكن تعيين xVals في RadarChartData ، فقط
دع radarChartData = RadarChartData (مجموعة البيانات: radarChartDataSet)
كيف يمكنني ضبط xVals في الإصدار الأحدث. حاولت
dataEntry = RadarChartDataEntry (القيمة: Double (CleaningValue) ، البيانات: "setTitle" مثل AnyObject؟)
لكن ليس العمل ، لقد بحثت في العديد من المستندات ، لكن لا يمكنني العثور على كيفية القيام بذلك ، هل يمكن أن تعطيني مثالًا على ذلك ، شكرًا لك على النصيحة.
AnChiChang يرجى قراءة الملاحظات أعلاه بدقة.
شكرا ، فهم من خلال التذكرة 1496
كيف يمكنني تنسيق قيم x من مصفوفة مزدوجة إلى مصفوفة سلسلة في الإصدار 3.0؟
bingozb يرجى إلقاء نظرة على العروض التوضيحية
متصفح الجوجل
var a: مزدوج = 1.5
var b: String = String (التنسيق: "٪ f" ، أ)
طباعة ("ب: (ب)") // ب: 1.500000
danielgindi أستخدم الرسم البياني الخطي 1 ، وقد رأيت العرض التوضيحي ولم أجد شيئًا بشأنه.
NSMutableArray * القيم = [[تخصيص NSMutableArray] init]؛
[القيم addObject: [[تخصيص ChartDataEntry] initWithX: i y: val]]؛
LineChartDataSet * set1 = [[تخصيص LineChartDataSet] initW ithValues: تسمية
في العرض التوضيحي فقط استخدم قيم x المزدوجة. لا تحتوي ChartDataEntry على طريقة init يمكنني إرسال معلمة سلسلة.
حسنًا ، لقد رأيت المشكلات ووجدت أحدها يقول أنه يمكننا إرسال القيم الصحيحة للتاريخ ، ثم إعادة تنسيقها وعرضها على تصنيف x. لكن لا يمكنني العثور على طريقة حول هذا. لست متأكدًا من أنه يمكن أن يعمل بهذه الطريقة في الواقع.
ساعدني من فضلك. أحتاج إلى إظهار التاريخ على المحور س.
مرحبا bingozb
آمل أن تخزن قيم X في مصفوفة واحدة ، لذا يرجى القيام بهذا النوع ،
NSMutableArray * xVals ؛
أتمنى أن تفهم.
@ rs10693 نعم ، أجد طريقة البروتوكول هذه. يبدو أنه لا بد لي من تنفيذه. لكني أجد عدم وجود مندوب امتثل لبروتوكول IChartAxisValueFormatter. من يجب أن يمتثل لهذا البروتوكول ومكان تنفيذ هذه الطريقة. لقد تركت وحدة التحكم الخاصة بي تفعل ذلك ولكنها لا تعمل.
bingozb استخدم ChartViewDelegate و IChartAxisValueFormatter وأتمنى أن تكون import Charts ؛
@ rs10693 أوه ، فهمت! المندوب هو valueFormatter ...
bingozb ماذا يمكنك أن تقول أنا لا أفهم. الرجاء توضيح لي.
danielgindi ما زلت غير قادر على تثبيت الرسوم البيانية 3.0.0
يحدث الخطأ التالي عند تشغيل pod install
تحليل التبعيات
[!] غير قادر على تلبية المتطلبات التالية:
Charts (~> 3.0.0)
مطلوب بواسطة Podfile
لا يحتوي أي من مصادر المواصفات الخاصة بك على مواصفات ترضي التبعية: Charts (~> 3.0.0)
.
لديك إما:
pod repo update
.ملاحظة: اعتبارًا من CocoaPods 1.0 ، لا يحدث pod repo update
في pod install
افتراضيًا.
الرجاء المساعدة هل هذا يعني أن الرسوم البيانية 3.0.0 لم يتم إصدارها بعد للتثبيت باستخدام
أو فاتني أي خطوة.
الإصدار 3.0 ليس في cocoapods لأنه ليس نهائيًا. يمكنك الإشارة إلى git repo و master للحصول على 3.0 الآن
لقد أصدرنا الآن
من الرائع معرفة ذلك.
لكني قلق بعض الشيء هل نحتاج إلى تحديث جراب الكاكاو الخاص بنا أم أنه مستودع لتثبيت الإصدار 3.0.0 الذي تم إصداره حديثًا
ووت 🎉
danielgindi هل تريد مني دفع
حاولت ، الآن بعد وقت طويل ، قال أن podspec لا يتحقق ...
يا يأخذ بعض الوقت. أستطيع أن أفعل ذلك. أنت بحاجة إلى cocoapods 1.1 للعمل مع Xcode 8 / swift 3
تضمين التغريدة
أملك
pod --version
= 1.1.0
ولكن لا يزال الأمر pod install
يثبت الإصدار الأقدم.
تحليل التبعيات
تنزيل التبعيات
Installing Charts (2.3.0)
الرجاء التوجيه
إنه يعمل الآن بعد تحديث الريبو الرئيسي للقرص شكرا للمساعدة
الحصول على مثل هذا الخطأ في Swift 3.0 أثناء تنفيذ Bar Graph باستخدام هذه المكتبة.
بعد حل الخطأ أعلاه ، فإنه يعطي الخطأ التالي كما هو موضح أدناه.
كيف يمكنني حل هذا الخطأ في Swift 3.0؟
اسمحوا chartDataSet = BarChartDataSet (القيم: dataEntries ، التسمية: لا شيء)
اسمحوا chartData = BarChartData (مجموعة البيانات: chartDataSet)
حول xVals ، يجب عليك تنفيذ stringForValue.
شكرا. كيف يمكنني تنفيذ stringForValue لـ xVals.
يرجى تقديم 3 أمثلة سريعة
أهلا،
لقد انتقلت للتو من 2 إلى 3 (أنا أستخدم 3.0.2) وأواجه مشكلتين:
شكرا لك على المدخلات.
في فئة BarChartRenderer
في Open override func drawValues (السياق: CGContext)
أضف السطر 408
""
إذا! dataSet.isStacked
{
لـ j في 0 .. <Int (ceil (Double (dataSet.entryCount) * animator.phaseX))
{
الحارس اسمحوا e = dataSet.entryForIndex (j) as؟ BarChartDataEntry else {استمرار}
let rect = buffer.rects[j]
let x = rect.origin.x + rect.size.width / 2.0
if !viewPortHandler.isInBoundsRight(x)
{
break
}
if !viewPortHandler.isInBoundsY(rect.origin.y)
|| !viewPortHandler.isInBoundsLeft(x)
{
continue
}
let val = e.y
if val == 0 <-----------this line
{ <-----------this line
continue <-----------this line
} <-----------this line
""
أضف متغيرًا إذا أردت
var drawValuesZeroEnabled: منطقي {get set}
شكرا لك تييري.
هذا ثابت :)
لا يزال لدي مشكلة هذا التباعد الغريب.
لذلك قمت للتو بإنشاء مخطط شريطي افتراضي بقيمة 0 وما زلت أواجه المشكلة - حاولت الاقتراب قدر الإمكان من شريط بسيط لمعرفة سبب المشكلة.
يبدو مثل العرض التوضيحي ولكن بمجرد أن أضع قيمة بين 0 و 0.9999 ، أحصل على هذه المساحة المتروكة.
هنا رمز عينة:
<strong i="11">@IBOutlet</strong> var barChartView: BarChartView!
func viewDidLoad() {
super.viewDidLoad()
self.styleChart()
self.configureChart()
}
internal func styleChart() {
self.barChartView.xAxis.labelPosition = .bottom
self.barChartView.xAxis.labelCount = 2
}
internal func configureChart() {
var xValues = [String]()
var entries: [ChartDataEntry] = Array()
xValues.append("TEST 5")
xValues.append("TEST 0")
entries.append(BarChartDataEntry(x: Double(0), y: Double(5) ))
entries.append(BarChartDataEntry(x: Double(1), y: Double(0) ))
let dataSet = BarChartDataSet(values: entries, label: "")
dataSet.drawIconsEnabled = false
dataSet.drawValuesEnabled = true
let formatter = NumberFormatter()
formatter.numberStyle = NumberFormatter.Style.decimal
dataSet.valueFormatter = DefaultValueFormatter(formatter: formatter)
let barChartData = BarChartData(dataSet: dataSet)
barChartData.barWidth = 0.2
self.barChartView.data = barChartData
}
واضحة ومباشرة جدا.
إنها حشرة؟
مشكلة مع 0:
لا 0:
شكرا للمساعدة ؛)
أين يمكنني العثور على مستندات حول واجهة برمجة التطبيقات القديمة للمخططات؟ لم أستخدم إطار العمل هذا مطلقًا (بصرف النظر عن ترقيته عدة مرات) ولا بد لي من الترقية من 2.3 إلى 3.0.4 ، لذا سيكون من الجيد معرفة التعليمات البرمجية القديمة في المستندات القديمة ، على سبيل المثال:
[entrySet addObject:[[ChartDataEntry alloc] initWithValue: item.avgSpeed xIndex:index]];
الآن ، لا يوجد حرف init يسمى initWithValue: xIndex
، ولكن يوجد اسم init يسمى:
initWithX: y:
، لذلك أحاول معرفة المعلمات القديمة ، وكيفية استخدام init الجديدة لتحقيق نفس النتيجة ...
أيضًا مصفوفة القيم Objc مفقودة الآن:
//myLineChartView is LineChartView
NSDate* date = (NSDate*)[myLineChartView.xAxis.valuesObjc objectAtIndex:index];
كما قلت ، لم أستخدم إطار العمل هذا مطلقًا ، لذلك سأكون ممتنًا لبعض المساعدة ، أو على الأقل الارتباط بمستندات API القديمة سيكون مفيدًا ...
لا أعتقد أن مثل هذا المورد موجود. يمكنك التحقق من الفرع القديم / 2.3 للتحقق من العروض التوضيحية ومقارنتها بالإصدار الحالي الآخر.
BarChartData.init (xVals: xVals، dataSets: dataSets) لا يمكن أن تعمل. ما هو استبداله؟
كيف يمكنني تمرير قيمة x للمخطط الخطي إلى المركز برمجيًا؟
التعليق الأكثر فائدة
Carielle لتثبيت Charts 3.0.0 قبل أن يكون متوافقًا مع CocoaPods ، قم بإزالة الرسوم البيانية القديمة من ملف pod ومشروعك ، ثم قم بتنزيل ملف Charts.xcodeproj من صفحة github هذه.
ثم افتح مشروعك المستهدف في XCode واسحب ملف Charts.xcodeproj من الدليل الذي تم تنزيله إليه إلى مشروعك في واجهة XCode.
بعد ذلك ، أضف Charts.framework في قسم "ثنائي مضمن" في الإعدادات العامة لمشروعك.